[xkbcommon] Make C++ happy.
Ran Benita
ran234 at gmail.com
Thu Sep 26 06:00:38 PDT 2013
On Thu, Sep 26, 2013 at 09:35:33AM -0300, Wander Lairson Costa wrote:
> For most functions taking an enum flags parameter, we use 0 value to
> indicate that no flags should be applied.
>
> C++ has a stronger type system than C and will not implicitly convert
> int's to enum's. Thus, we create valid 0 enum values for enum types
> where it makes sense.
Thanks!
I just made a few changes (see below) and applied; I hope you don't
mind.
>
> Signed-off-by: Wander Lairson Costa <wander.lairson at gmail.com>
> ---
> xkbcommon/xkbcommon.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/xkbcommon/xkbcommon.h b/xkbcommon/xkbcommon.h
> index 1480b1b..4627cea 100644
> --- a/xkbcommon/xkbcommon.h
> +++ b/xkbcommon/xkbcommon.h
> @@ -360,6 +360,8 @@ xkb_keysym_get_name(xkb_keysym_t keysym, char *buffer, size_t size);
>
> /** Flags for xkb_keysym_from_name(). */
> enum xkb_keysym_flags {
> + /** Do not apply any flag. */
> + XKB_KEYSYM_NO_FLAG = 0,
FLAG -> FLAGS
> /** Find keysym by case-insensitive search. */
> XKB_KEYSYM_CASE_INSENSITIVE = (1 << 0)
> };
> @@ -425,6 +427,8 @@ xkb_keysym_to_utf32(xkb_keysym_t keysym);
>
> /** Flags for context creation. */
> enum xkb_context_flags {
> + /** Do not apply any context flag. */
> + XKB_CONTEXT_NO_FLAG = 0,
FLAG -> FLAGS
> /** Create this context with an empty include path. */
> XKB_CONTEXT_NO_DEFAULT_INCLUDES = (1 << 0),
> /** Don't take RMLVO names from the environment. */
> @@ -577,6 +581,7 @@ xkb_context_include_path_get(struct xkb_context *context, unsigned int index);
>
> /** Specifies a logging level. */
> enum xkb_log_level {
> + XKB_LOG_LEVEL_NO_LOG = 0, /**< No log. */
This one's not needed, you can't pass/get that.
> XKB_LOG_LEVEL_CRITICAL = 10, /**< Log critical internal errors only. */
> XKB_LOG_LEVEL_ERROR = 20, /**< Log all errors. */
> XKB_LOG_LEVEL_WARNING = 30, /**< Log warnings and errors. */
> @@ -676,6 +681,8 @@ xkb_context_set_log_fn(struct xkb_context *context,
>
> /** Flags for keymap compilation. */
> enum xkb_keymap_compile_flags {
> + /** Do not apply any flag. */
> + XKB_MAP_COMPILE_NO_FLAG = 0,
FLAG -> FLAGS
> /** Apparently you can't have empty enums. What a drag. */
> XKB_MAP_COMPILE_PLACEHOLDER = 0
> };
> @@ -708,6 +715,8 @@ xkb_keymap_new_from_names(struct xkb_context *context,
>
> /** The possible keymap formats. */
> enum xkb_keymap_format {
> + /** No format. */
> + XKB_KEYMAP_FORMAT_NONE = 0,
This one's not needed, you can't pass/get that.
Ran
> /** The current/classic XKB text format, as generated by xkbcomp -xkb. */
> XKB_KEYMAP_FORMAT_TEXT_V1 = 1
> };
> --
> 1.8.1.2
>
More information about the wayland-devel
mailing list