fix not to display error log about the absense of compose file
[platform/upstream/libxkbcommon.git] / src / xkbcomp / action.h
index 3d63468..1f92e7b 100644 (file)
  *
  ********************************************************/
 
-#ifndef ACTION_H
-#define ACTION_H 1
+#ifndef XKBCOMP_ACTION_H
+#define XKBCOMP_ACTION_H
 
-#include "xkbcomp-priv.h"
-#include "expr.h"
+/*
+ * This struct contains the default values which every new action
+ * (e.g. in an interpret statement) starts off with. It can be
+ * modified within the files (see calls to SetActionField).
+ */
+typedef struct {
+    union xkb_action actions[_ACTION_TYPE_NUM_ENTRIES];
+} ActionsInfo;
 
-#define F_ClearLocks  0
-#define F_LatchToLock 1
-#define F_GenKeyEvent 2
-#define F_Report      3
-#define F_Default     4
-#define F_Affect      5
-#define F_Increment   6
-#define F_Modifiers   7
-#define F_Group       8
-#define F_X           9
-#define F_Y           10
-#define F_Accel       11
-#define F_Button      12
-#define F_Value       13
-#define F_Controls    14
-#define F_Type        15
-#define F_Count       16
-#define F_Screen      17
-#define F_Same        18
-#define F_Data        19
-#define F_Device      20
-#define F_Keycode     21
-#define F_ModsToClear 22
-#define F_LastField   F_ModsToClear
-#define F_NumFields   (F_LastField + 1)
+ActionsInfo *
+NewActionsInfo(void);
 
-#define PrivateAction (XkbSA_LastAction + 1)
+void
+FreeActionsInfo(ActionsInfo *info);
 
-typedef struct _ActionInfo {
-    unsigned action;
-    unsigned field;
-    ExprDef *array_ndx;
-    ExprDef *value;
-    struct _ActionInfo *next;
-} ActionInfo;
+bool
+HandleActionDef(struct xkb_context *ctx, ActionsInfo *info,
+                const struct xkb_mod_set *mods, ExprDef *def,
+                union xkb_action *action);
 
-extern int
-HandleActionDef(ExprDef *def, struct xkb_keymap *keymap,
-                struct xkb_any_action *action,
-                ActionInfo *info);
+bool
+SetActionField(struct xkb_context *ctx, ActionsInfo *info,
+               struct xkb_mod_set *mods, const char *elem,
+               const char *field, ExprDef *array_ndx, ExprDef *value);
 
-extern int
-SetActionField(struct xkb_keymap *keymap, const char *elem, const char *field,
-               ExprDef *index, ExprDef *value,
-               ActionInfo **info_rtrn);
 
-extern const LookupEntry ctrlNames[];
-
-#endif /* ACTION_H */
+#endif