X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontext.h;h=d5fa117b22b03b09ec54fdd1188cf47380bf1872;hb=ef81d04eef4b1a60ff42bd9ccbe2918b0a5420ec;hp=486f4085a6acef29e071aec8959e2ccb6ec65881;hpb=a9c56f643db9012bf2c91fcbc3bed5baf16ea848;p=platform%2Fupstream%2Flibxkbcommon.git diff --git a/src/context.h b/src/context.h index 486f408..d5fa117 100644 --- a/src/context.h +++ b/src/context.h @@ -27,6 +27,7 @@ #define CONTEXT_H #include "atom.h" +#include "messages-codes.h" struct xkb_context { int refcnt; @@ -45,13 +46,20 @@ struct xkb_context { struct atom_table *atom_table; + /* Used and allocated by xkbcommon-x11, free()d with the context. */ + void *x11_atom_cache; + /* Buffer for the *Text() functions. */ char text_buffer[2048]; size_t text_next; unsigned int use_environment_names : 1; + unsigned int use_secure_getenv : 1; }; +char * +xkb_context_getenv(struct xkb_context *ctx, const char *name); + unsigned int xkb_context_num_failed_include_paths(struct xkb_context *ctx); @@ -59,6 +67,12 @@ const char * xkb_context_failed_include_path_get(struct xkb_context *ctx, unsigned int idx); +const char * +xkb_context_include_path_get_extra_path(struct xkb_context *ctx); + +const char * +xkb_context_include_path_get_system_path(struct xkb_context *ctx); + /* * Returns XKB_ATOM_NONE if @string was not previously interned, * otherwise returns the atom. @@ -91,20 +105,9 @@ ATTR_PRINTF(4, 5) void xkb_log(struct xkb_context *ctx, enum xkb_log_level level, int verbosity, const char *fmt, ...); -const char * -xkb_context_get_default_rules(struct xkb_context *ctx); - -const char * -xkb_context_get_default_model(struct xkb_context *ctx); - -const char * -xkb_context_get_default_layout(struct xkb_context *ctx); - -const char * -xkb_context_get_default_variant(struct xkb_context *ctx); - -const char * -xkb_context_get_default_options(struct xkb_context *ctx); +void +xkb_context_sanitize_rule_names(struct xkb_context *ctx, + struct xkb_rule_names *rmlvo); /* * The format is not part of the argument list in order to avoid the @@ -112,16 +115,31 @@ xkb_context_get_default_options(struct xkb_context *ctx); * format is supplied without arguments. Not supplying it would still * result in an error, though. */ +#define xkb_log_with_code(ctx, level, verbosity, msg_id, fmt, ...) \ + xkb_log(ctx, level, verbosity, "[XKB-%03d] " fmt, \ + msg_id, ##__VA_ARGS__) +#define log_dbg_with_code(ctx, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_DEBUG, 0, (id), __VA_ARGS__) #define log_dbg(ctx, ...) \ xkb_log((ctx), XKB_LOG_LEVEL_DEBUG, 0, __VA_ARGS__) +#define log_info_with_code(ctx, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_INFO, 0, (id), __VA_ARGS__) #define log_info(ctx, ...) \ xkb_log((ctx), XKB_LOG_LEVEL_INFO, 0, __VA_ARGS__) +#define log_warn_with_code(ctx, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_WARNING, 0, (id), __VA_ARGS__) #define log_warn(ctx, ...) \ - xkb_log((ctx), XKB_LOG_LEVEL_WARNING, 0, __VA_ARGS__) + xkb_log((ctx), XKB_LOG_LEVEL_WARNING, 0, __VA_ARGS__) +#define log_err_with_code(ctx, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_ERROR, 0, (id), __VA_ARGS__) #define log_err(ctx, ...) \ - xkb_log((ctx), XKB_LOG_LEVEL_ERROR, 0, __VA_ARGS__) + xkb_log((ctx), XKB_LOG_LEVEL_ERROR, 0, __VA_ARGS__) +#define log_wsgo_with_code(ctx, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_CRITICAL, 0, (id), __VA_ARGS__) #define log_wsgo(ctx, ...) \ xkb_log((ctx), XKB_LOG_LEVEL_CRITICAL, 0, __VA_ARGS__) +#define log_vrb_with_code(ctx, vrb, id, ...) \ + xkb_log_with_code((ctx), XKB_LOG_LEVEL_WARNING, (vrb), (id), __VA_ARGS__) #define log_vrb(ctx, vrb, ...) \ xkb_log((ctx), XKB_LOG_LEVEL_WARNING, (vrb), __VA_ARGS__)