Main Page   Modules   Compound List   File List   Compound Members   File Members  

xklavier_config.h

Go to the documentation of this file.
00001 
00005 #ifndef __XKLABIER_CONFIG_H__
00006 #define __XKLABIER_CONFIG_H__
00007 
00011 #define XKL_MAX_CI_NAME_LENGTH 64
00012 
00017 #define XKL_MAX_CI_DESC_LENGTH 192
00018 
00019 #ifdef __cplusplus
00020 extern "C"
00021 {
00022 #endif                          /* __cplusplus */
00023 
00027   typedef struct _XklConfigItem
00028   {
00032     char name[XKL_MAX_CI_NAME_LENGTH];
00033 
00037     char description[XKL_MAX_CI_DESC_LENGTH];
00038   }
00039   XklConfigItem, *XklConfigItemPtr;
00040 
00049   extern void XklConfigInit( void );
00050 
00054   extern void XklConfigTerm( void );
00055 
00060   extern Bool XklConfigLoadRegistry( void );
00061 
00065   extern void XklConfigFreeRegistry( void );
00078   typedef void ( *ConfigItemProcessFunc ) ( const XklConfigItemPtr configItem,
00079                                             void *userData );
00080 
00087   typedef void ( *GroupProcessFunc ) ( const XklConfigItemPtr configItem,
00088                                        Bool allowMultipleSelection,
00089                                        void *userData );
00090 
00096   extern void XklConfigEnumModels( ConfigItemProcessFunc func,
00097                                    void *userData );
00098 
00104   extern void XklConfigEnumLayouts( ConfigItemProcessFunc func,
00105                                     void *userData );
00106 
00113   extern void XklConfigEnumLayoutVariants( const char *layoutName,
00114                                            ConfigItemProcessFunc func,
00115                                            void *userData );
00116 
00122   extern void XklConfigEnumOptionGroups( GroupProcessFunc func,
00123                                          void *userData );
00124 
00132   extern void XklConfigEnumOptions( const char *optionGroupName,
00133                                     ConfigItemProcessFunc func,
00134                                     void *userData );
00148   extern Bool XklConfigFindModel( XklConfigItemPtr ptr );
00149 
00156   extern Bool XklConfigFindLayout( XklConfigItemPtr ptr );
00157 
00166   extern Bool XklConfigFindVariant( const char *layoutName,
00167                                     XklConfigItemPtr ptr );
00168 
00178   extern Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr,
00179                                         Bool * allowMultipleSelection );
00180 
00189   extern Bool XklConfigFindOption( const char *optionGroupName,
00190                                    XklConfigItemPtr ptr );
00208   extern Bool XklConfigActivate( const char *model, const char *layout,
00209                                  const char *variant, const int numOptions,
00210                                  const char *options[] );
00211 
00223   extern Bool XklConfigWriteXKMFile( const char *fileName, const char *model,
00224                                      const char *layout, const char *variant,
00225                                      const int numOptions,
00226                                      const char *options[] );
00229 #ifdef __cplusplus
00230 }
00231 #endif                          /* __cplusplus */
00232 
00233 #endif

Generated on Thu May 30 11:39:03 2002 for libxklavier by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002