Main Page | Modules | Class List | File List | Class 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 32
00014 
00020 #define XKL_MAX_CI_SHORT_DESC_LENGTH 10
00021 
00027 #define XKL_MAX_CI_DESC_LENGTH 192
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif                          /* __cplusplus */
00033 
00037   typedef struct _XklConfigItem
00038   {
00042     char name[XKL_MAX_CI_NAME_LENGTH];
00043 
00047     char shortDescription[XKL_MAX_CI_DESC_LENGTH];
00048 
00052     char description[XKL_MAX_CI_DESC_LENGTH];
00053   }
00054   XklConfigItem, *XklConfigItemPtr;
00055 
00059   typedef struct _XklConfigRec
00060   {
00064     char *model;
00068     int numLayouts;
00072     char **layouts;
00076     int numVariants;
00080     char **variants;
00084     int numOptions;
00088     char **options;
00089   }
00090   XklConfigRec, *XklConfigRecPtr;
00099   extern void XklConfigInit( void );
00100 
00104   extern void XklConfigTerm( void );
00105 
00110   extern Bool XklConfigLoadRegistry( void );
00111 
00115   extern void XklConfigFreeRegistry( void );
00128   typedef void ( *ConfigItemProcessFunc ) ( const XklConfigItemPtr configItem,
00129                                             void *userData );
00130 
00137   typedef void ( *GroupProcessFunc ) ( const XklConfigItemPtr configItem,
00138                                        Bool allowMultipleSelection,
00139                                        void *userData );
00148   typedef int ( *XkbDescModifierFunc ) ( XkbDescPtr kbd, void *userData );
00154   extern void XklConfigEnumModels( ConfigItemProcessFunc func,
00155                                    void *userData );
00156 
00162   extern void XklConfigEnumLayouts( ConfigItemProcessFunc func,
00163                                     void *userData );
00164 
00171   extern void XklConfigEnumLayoutVariants( const char *layoutName,
00172                                            ConfigItemProcessFunc func,
00173                                            void *userData );
00174 
00180   extern void XklConfigEnumOptionGroups( GroupProcessFunc func,
00181                                          void *userData );
00182 
00190   extern void XklConfigEnumOptions( const char *optionGroupName,
00191                                     ConfigItemProcessFunc func,
00192                                     void *userData );
00193 
00207   extern Bool XklConfigFindModel( XklConfigItemPtr ptr );
00208 
00215   extern Bool XklConfigFindLayout( XklConfigItemPtr ptr );
00216 
00225   extern Bool XklConfigFindVariant( const char *layoutName,
00226                                     XklConfigItemPtr ptr );
00227 
00237   extern Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr,
00238                                         Bool * allowMultipleSelection );
00239 
00248   extern Bool XklConfigFindOption( const char *optionGroupName,
00249                                    XklConfigItemPtr ptr );
00261   extern Bool XklMultipleLayoutsSupported( void );
00272   extern Bool XklConfigActivate( const XklConfigRecPtr data,
00273                                  XkbDescModifierFunc fun, void *userData );
00274 
00281   extern int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData );
00282 
00288   extern Bool XklConfigGetFromServer( XklConfigRecPtr data );
00289 
00296   extern Bool XklConfigGetFromBackup( XklConfigRecPtr data );
00297 
00308   extern Bool XklConfigWriteXKMFile( const char *fileName,
00309                                      const XklConfigRecPtr data,
00310                                      XkbDescModifierFunc fun,
00311                                      void *userData );
00312 
00329   extern Bool XklGetNamesProp( Atom rulesAtomName,
00330                                char **rulesFileOut,
00331                                XklConfigRecPtr configOut );
00332 
00340   extern Bool XklSetNamesProp( Atom rulesAtomName,
00341                                char *rulesFile, XklConfigRecPtr config );
00342 
00348   extern Bool XklBackupNamesProp(  );
00349 
00355   extern Bool XklRestoreNamesProp(  );
00356 
00369   extern void XklConfigRecInit( XklConfigRecPtr data );
00370 
00375   extern void XklConfigRecReset( XklConfigRecPtr data );
00376 
00381   extern void XklConfigRecDestroy( XklConfigRecPtr data );
00382 
00385 #ifdef __cplusplus
00386 }
00387 #endif                          /* __cplusplus */
00388 
00389 #endif

Generated on Fri Dec 19 22:32:01 2003 for libxklavier by doxygen 1.3.4