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 
00008 #include <libxklavier/xklavier.h>
00009 
00013 #define XKL_MAX_CI_NAME_LENGTH 64
00014 
00019 #define XKL_MAX_CI_DESC_LENGTH 192
00020 
00021 #ifdef __cplusplus
00022 extern "C"
00023 {
00024 #endif                          /* __cplusplus */
00025 
00029   typedef struct _XklConfigItem
00030   {
00034     char name[XKL_MAX_CI_NAME_LENGTH];
00035 
00039     char description[XKL_MAX_CI_DESC_LENGTH];
00040   }
00041   XklConfigItem, *XklConfigItemPtr;
00042 
00046   typedef struct _XklConfigRec
00047   {
00051     char *model;
00055     char *layout;
00059     char *variant;
00063     int numOptions;
00067     char **options;
00068   }
00069   XklConfigRec, *XklConfigRecPtr;
00078   extern void XklConfigInit( void );
00079 
00083   extern void XklConfigTerm( void );
00084 
00089   extern Bool XklConfigLoadRegistry( void );
00090 
00094   extern void XklConfigFreeRegistry( void );
00107   typedef void ( *ConfigItemProcessFunc ) ( const XklConfigItemPtr configItem,
00108                                             void *userData );
00109 
00116   typedef void ( *GroupProcessFunc ) ( const XklConfigItemPtr configItem,
00117                                        Bool allowMultipleSelection,
00118                                        void *userData );
00127   typedef int ( *XkbDescModifierFunc ) ( XkbDescPtr kbd, void *userData );
00133   extern void XklConfigEnumModels( ConfigItemProcessFunc func,
00134                                    void *userData );
00135 
00141   extern void XklConfigEnumLayouts( ConfigItemProcessFunc func,
00142                                     void *userData );
00143 
00150   extern void XklConfigEnumLayoutVariants( const char *layoutName,
00151                                            ConfigItemProcessFunc func,
00152                                            void *userData );
00153 
00159   extern void XklConfigEnumOptionGroups( GroupProcessFunc func,
00160                                          void *userData );
00161 
00169   extern void XklConfigEnumOptions( const char *optionGroupName,
00170                                     ConfigItemProcessFunc func,
00171                                     void *userData );
00172 
00186   extern Bool XklConfigFindModel( XklConfigItemPtr ptr );
00187 
00194   extern Bool XklConfigFindLayout( XklConfigItemPtr ptr );
00195 
00204   extern Bool XklConfigFindVariant( const char *layoutName,
00205                                     XklConfigItemPtr ptr );
00206 
00216   extern Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr,
00217                                         Bool * allowMultipleSelection );
00218 
00227   extern Bool XklConfigFindOption( const char *optionGroupName,
00228                                    XklConfigItemPtr ptr );
00246   extern Bool XklConfigActivate( const XklConfigRecPtr data,
00247                                  XkbDescModifierFunc fun, void *userData );
00248 
00255   extern int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData );
00256 
00262   extern Bool XklConfigGetFromServer( XklConfigRecPtr data );
00263 
00270   extern Bool XklConfigGetFromBackup( XklConfigRecPtr data );
00271 
00282   extern Bool XklConfigWriteXKMFile( const char *fileName,
00283                                      const XklConfigRecPtr data,
00284                                      XkbDescModifierFunc fun,
00285                                      void *userData );
00286 
00303   extern Bool XklGetNamesProp( const char propName[],
00304                                char **rulesFileOut,
00305                                XklConfigRecPtr configOut );
00306 
00314   extern Bool XklSetNamesProp( const char propName[],
00315                                char *rulesFile, XklConfigRecPtr config );
00316 
00322   extern Bool XklBackupNamesProp(  );
00323 
00329   extern Bool XklRestoreNamesProp(  );
00330 
00343   extern void XklConfigRecInit( XklConfigRecPtr data );
00344 
00349   extern void XklConfigRecReset( XklConfigRecPtr data );
00350 
00355   extern void XklConfigRecDestroy( XklConfigRecPtr data );
00356 
00359 #ifdef __cplusplus
00360 }
00361 #endif                          /* __cplusplus */
00362 
00363 #endif

Generated on Fri Jan 31 16:52:10 2003 for libxklavier by doxygen1.2.18