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 00111 extern Bool XklConfigLoadRegistryFromFile( const char* fileName ); 00112 00117 extern Bool XklConfigLoadRegistry( void ); 00118 00122 extern void XklConfigFreeRegistry( void ); 00135 typedef void ( *ConfigItemProcessFunc ) ( const XklConfigItemPtr configItem, 00136 void *userData ); 00137 00144 typedef void ( *GroupProcessFunc ) ( const XklConfigItemPtr configItem, 00145 Bool allowMultipleSelection, 00146 void *userData ); 00152 extern void XklConfigEnumModels( ConfigItemProcessFunc func, 00153 void *userData ); 00154 00160 extern void XklConfigEnumLayouts( ConfigItemProcessFunc func, 00161 void *userData ); 00162 00169 extern void XklConfigEnumLayoutVariants( const char *layoutName, 00170 ConfigItemProcessFunc func, 00171 void *userData ); 00172 00178 extern void XklConfigEnumOptionGroups( GroupProcessFunc func, 00179 void *userData ); 00180 00188 extern void XklConfigEnumOptions( const char *optionGroupName, 00189 ConfigItemProcessFunc func, 00190 void *userData ); 00191 00205 extern Bool XklConfigFindModel( XklConfigItemPtr ptr ); 00206 00213 extern Bool XklConfigFindLayout( XklConfigItemPtr ptr ); 00214 00223 extern Bool XklConfigFindVariant( const char *layoutName, 00224 XklConfigItemPtr ptr ); 00225 00235 extern Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr, 00236 Bool * allowMultipleSelection ); 00237 00246 extern Bool XklConfigFindOption( const char *optionGroupName, 00247 XklConfigItemPtr ptr ); 00259 extern Bool XklMultipleLayoutsSupported( void ); 00269 extern Bool XklConfigActivate( const XklConfigRecPtr data, 00270 void *userData ); 00271 00277 extern Bool XklConfigGetFromServer( XklConfigRecPtr data ); 00278 00285 extern Bool XklConfigGetFromBackup( XklConfigRecPtr data ); 00286 00296 extern Bool XklConfigWriteXKMFile( const char *fileName, 00297 const XklConfigRecPtr data, 00298 void *userData ); 00299 00316 extern Bool XklGetNamesProp( Atom rulesAtomName, 00317 char **rulesFileOut, 00318 XklConfigRecPtr configOut ); 00319 00327 extern Bool XklSetNamesProp( Atom rulesAtomName, 00328 char *rulesFile, XklConfigRecPtr config ); 00329 00335 extern Bool XklBackupNamesProp( ); 00336 00342 extern Bool XklRestoreNamesProp( ); 00343 00356 extern void XklConfigRecInit( XklConfigRecPtr data ); 00357 00362 extern void XklConfigRecReset( XklConfigRecPtr data ); 00363 00368 extern void XklConfigRecDestroy( XklConfigRecPtr data ); 00369 00376 extern Bool XklConfigRecEquals( XklConfigRecPtr data1, XklConfigRecPtr data2 ); 00377 00380 #ifdef __cplusplus 00381 } 00382 #endif /* __cplusplus */ 00383 00384 #endif

Generated on Fri Jul 30 22:10:36 2004 for libxklavier by doxygen 1.3.7