fix not to display error log about the absense of compose file
[platform/upstream/libxkbcommon.git] / src / xkbcomp / action.h
index 5d4191c..1f92e7b 100644 (file)
@@ -1,84 +1,56 @@
 /************************************************************
- Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
-
- Permission to use, copy, modify, and distribute this
- software and its documentation for any purpose and without
- fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright
- notice and this permission notice appear in supporting
- documentation, and that the name of Silicon Graphics not be
- used in advertising or publicity pertaining to distribution
- of the software without specific prior written permission.
- Silicon Graphics makes no representation about the suitability
- of this software for any purpose. It is provided "as is"
- without any express or implied warranty.
-
- SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
- THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
+ *
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
+ *
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
  ********************************************************/
 
-#ifndef ACTION_H
-#define ACTION_H 1
+#ifndef XKBCOMP_ACTION_H
+#define XKBCOMP_ACTION_H
 
-#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)
+/*
+ * 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        PrivateAction   (XkbSA_LastAction+1)
+ActionsInfo *
+NewActionsInfo(void);
 
-typedef struct _ActionInfo
-{
-    unsigned action;
-    unsigned field;
-    ExprDef *array_ndx;
-    ExprDef *value;
-    struct _ActionInfo *next;
-} ActionInfo;
+void
+FreeActionsInfo(ActionsInfo *info);
 
-extern int HandleActionDef(ExprDef * /* def */ ,
-                           struct xkb_keymap * /* xkb */ ,
-                           struct xkb_any_action * /* action */ ,
-                           unsigned /* mergeMode */ ,
-                           ActionInfo * /* info */
-    );
+bool
+HandleActionDef(struct xkb_context *ctx, ActionsInfo *info,
+                const struct xkb_mod_set *mods, ExprDef *def,
+                union xkb_action *action);
 
-extern int SetActionField(struct xkb_keymap * /* xkb */ ,
-                          char * /* elem */ ,
-                          char * /* field */ ,
-                          ExprDef * /* index */ ,
-                          ExprDef * /* value */ ,
-                          ActionInfo ** /* info_rtrn */
-    );
+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 const LookupEntry ctrlNames[];
 
-#endif /* ACTION_H */
+#endif