summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'libxklavier/xklavier_config.h')
-rw-r--r--libxklavier/xklavier_config.h376
1 files changed, 0 insertions, 376 deletions
diff --git a/libxklavier/xklavier_config.h b/libxklavier/xklavier_config.h
deleted file mode 100644
index 264f760..0000000
--- a/libxklavier/xklavier_config.h
+++ /dev/null
@@ -1,376 +0,0 @@
-/**
- * @file xklavier_config.h
- */
-
-#ifndef __XKLAVIER_CONFIG_H__
-#define __XKLAVIER_CONFIG_H__
-
-#include <libxklavier/xklavier.h>
-
-/**
- * Maximum name length, including '\'0' character
- */
-#define XKL_MAX_CI_NAME_LENGTH 32
-
-/**
- * Maximum short description length, including '\\0' character.
- * Important: this length is in bytes, so for unicode (UTF-8 encoding in
- * XML file) the actual maximum length can be smaller.
- */
-#define XKL_MAX_CI_SHORT_DESC_LENGTH 10
-
-/**
- * Maximum description length, including '\\0' character.
- * Important: this length is in bytes, so for unicode (UTF-8 encoding in
- * XML file) the actual maximum length can be smaller.
- */
-#define XKL_MAX_CI_DESC_LENGTH 192
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-/**
- * The configuration item. Corresponds to XML element "configItem".
- */
- typedef struct _XklConfigItem
- {
-/**
- * The configuration item name. Corresponds to XML element "name".
- */
- char name[XKL_MAX_CI_NAME_LENGTH];
-
-/**
- * The configuration item short description. Corresponds to XML element "shortDescription".
- */
- char shortDescription[XKL_MAX_CI_DESC_LENGTH];
-
-/**
- * The configuration item description. Corresponds to XML element "description".
- */
- char description[XKL_MAX_CI_DESC_LENGTH];
- }
- XklConfigItem, *XklConfigItemPtr;
-
-/**
- * Basic configuration params
- */
- typedef struct _XklConfigRec
- {
-/**
- * The keyboard model
- */
- char *model;
-/**
- * The number of keyboard layouts
- */
- int numLayouts;
-/**
- * The array of keyboard layouts
- */
- char **layouts;
-/**
- * The number of keyboard layout variants
- */
- int numVariants;
-/**
- * The array of keyboard layout variants (if any)
- */
- char **variants;
-/**
- * The number of keyboard layout options
- */
- int numOptions;
-/**
- * The array of keyboard layout options
- */
- char **options;
- }
- XklConfigRec, *XklConfigRecPtr;
-/**
- * @defgroup xklconfiginitterm XKB configuration handling initialization and termination
- * @{
- */
-
-/**
- * Initializes XML configuration-related structures
- */
- extern void XklConfigInit( void );
-
-/**
- * Cleans XML configuration-related structures
- */
- extern void XklConfigTerm( void );
-
-/**
- * Loads XML configuration registry
- * @param fileName file name to load
- * @return true on success
- */
- extern Bool XklConfigLoadRegistryFromFile( const char* fileName );
-
-/**
- * Loads XML configuration registry
- * @return true on success
- */
- extern Bool XklConfigLoadRegistry( void );
-
-/**
- * Frees XML configuration registry
- */
- extern void XklConfigFreeRegistry( void );
-/** @} */
-
-/**
- * @defgroup enum XKB configuration elements enumeration functions
- * @{
- */
-
-/**
- * Callback type used for enumerating keyboard models, layouts, variants, options
- * @param configItem is the item from registry
- * @param userData is anything which can be stored into the pointer
- */
- typedef void ( *ConfigItemProcessFunc ) ( const XklConfigItemPtr configItem,
- void *userData );
-
-/**
- * Callback type used for enumerating keyboard option groups
- * @param configItem is the item from registry
- * @param allowMultipleSelection is a flag whether this group allows multiple selection
- * @param userData is anything which can be stored into the pointer
- */
- typedef void ( *GroupProcessFunc ) ( const XklConfigItemPtr configItem,
- Bool allowMultipleSelection,
- void *userData );
-/**
- * Enumerates keyboard models from the XML configuration registry
- * @param func is a callback to call for every model
- * @param userData is anything which can be stored into the pointer
- */
- extern void XklConfigEnumModels( ConfigItemProcessFunc func,
- void *userData );
-
-/**
- * Enumerates keyboard layouts from the XML configuration registry
- * @param func is a callback to call for every layout
- * @param userData is anything which can be stored into the pointer
- */
- extern void XklConfigEnumLayouts( ConfigItemProcessFunc func,
- void *userData );
-
-/**
- * Enumerates keyboard layout variants from the XML configuration registry
- * @param layoutName is the layout name for which variants will be listed
- * @param func is a callback to call for every layout variant
- * @param userData is anything which can be stored into the pointer
- */
- extern void XklConfigEnumLayoutVariants( const char *layoutName,
- ConfigItemProcessFunc func,
- void *userData );
-
-/**
- * Enumerates keyboard option groups from the XML configuration registry
- * @param func is a callback to call for every option group
- * @param userData is anything which can be stored into the pointer
- */
- extern void XklConfigEnumOptionGroups( GroupProcessFunc func,
- void *userData );
-
-/**
- * Enumerates keyboard options from the XML configuration registry
- * @param optionGroupName is the option group name for which variants
- * will be listed
- * @param func is a callback to call for every option
- * @param userData is anything which can be stored into the pointer
- */
- extern void XklConfigEnumOptions( const char *optionGroupName,
- ConfigItemProcessFunc func,
- void *userData );
-
-/** @} */
-
-/**
- * @defgroup lookup XKB configuration element lookup functions
- * @{
- */
-
-/**
- * Loads a keyboard model information from the XML configuration registry.
- * @param ptr is a pointer to a XklConfigItem containing the name of the
- * keyboard model. On successfull return, the descriptions are filled.
- * @return True if appropriate element was found and loaded
- */
- extern Bool XklConfigFindModel( XklConfigItemPtr ptr );
-
-/**
- * Loads a keyboard layout information from the XML configuration registry.
- * @param ptr is a pointer to a XklConfigItem containing the name of the
- * keyboard layout. On successfull return, the descriptions are filled.
- * @return True if appropriate element was found and loaded
- */
- extern Bool XklConfigFindLayout( XklConfigItemPtr ptr );
-
-/**
- * Loads a keyboard layout variant information from the XML configuration
- * registry.
- * @param layoutName is a name of the parent layout
- * @param ptr is a pointer to a XklConfigItem containing the name of the
- * keyboard layout variant. On successfull return, the descriptions are filled.
- * @return True if appropriate element was found and loaded
- */
- extern Bool XklConfigFindVariant( const char *layoutName,
- XklConfigItemPtr ptr );
-
-/**
- * Loads a keyboard option group information from the XML configuration
- * registry.
- * @param ptr is a pointer to a XklConfigItem containing the name of the
- * keyboard option group. On successfull return, the descriptions are filled.
- * @param allowMultipleSelection is a pointer to some Bool variable to fill
- * the corresponding attribute of XML element "group".
- * @return True if appropriate element was found and loaded
- */
- extern Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr,
- Bool * allowMultipleSelection );
-
-/**
- * Loads a keyboard option information from the XML configuration
- * registry.
- * @param optionGroupName is a name of the option group
- * @param ptr is a pointer to a XklConfigItem containing the name of the
- * keyboard option. On successfull return, the descriptions are filled.
- * @return True if appropriate element was found and loaded
- */
- extern Bool XklConfigFindOption( const char *optionGroupName,
- XklConfigItemPtr ptr );
-/** @} */
-
-/**
- * @defgroup activation XKB configuration activation
- * @{
- */
-
-/**
- * Activates some XKB configuration
- * @param data is a valid XKB configuration
- * description. Can be NULL
- * @return True on success
- * @see XklSetKeyAsSwitcher
- * At the moment, accepts only _ONE_ layout. Later probably I'll improve this..
- */
- extern Bool XklConfigActivate( const XklConfigRecPtr data );
-
-/**
- * Loads the current XKB configuration (from X server)
- * @param data is a buffer for XKB configuration
- * @return True on success
- */
- extern Bool XklConfigGetFromServer( XklConfigRecPtr data );
-
-/**
- * Loads the current XKB configuration (from backup)
- * @param data is a buffer for XKB configuration
- * @return True on success
- * @see XklBackupNamesProp
- */
- extern Bool XklConfigGetFromBackup( XklConfigRecPtr data );
-
-/**
- * Writes some XKB configuration into XKM/XKB file
- * @param fileName is a name of the file to create
- * @param data is a valid XKB configuration
- * description. Can be NULL
- * @param binary is a flag indicating whether the output file should be binary
- * @return True on success
- */
- extern Bool XklConfigWriteFile( const char *fileName,
- const XklConfigRecPtr data,
- const Bool binary );
-
-/** @} */
-
-/**
- * @defgroup props Saving and restoring XKB configuration into X root window properties
- * Generalizes XkbRF_GetNamesProp and XkbRF_SetNamesProp.
- * @{
- */
-
-/**
- * Gets the XKB configuration from any root window property
- * @param rulesAtomName is an atom name of the root window property to read
- * @param rulesFileOut is a pointer to hold the file name
- * @param configOut is a buffer to hold the result -
- * all records are allocated using standard malloc
- * @return True on success
- */
- extern Bool XklGetNamesProp( Atom rulesAtomName,
- char **rulesFileOut,
- XklConfigRecPtr configOut );
-
-/**
- * Saves the XKB configuration into any root window property
- * @param rulesAtomName is an atom name of the root window property to write
- * @param rulesFile is a rules file name
- * @param config is a configuration to save
- * @return True on success
- */
- extern Bool XklSetNamesProp( Atom rulesAtomName,
- char *rulesFile, XklConfigRecPtr config );
-
-/**
- * Backups current XKB configuration into some property -
- * if this property is not defined yet.
- * @return True on success
- */
- extern Bool XklBackupNamesProp( );
-
-/**
- * Restores XKB from the property saved by XklBackupNamesProp
- * @return True on success
- * @see XklBackupNamesProp
- */
- extern Bool XklRestoreNamesProp( );
-
-/** @} */
-
-/**
- * @defgroup xklconfig XklConfigRec management utilities
- * Little utilities for managing XklConfigRec.
- * @{
- */
-
-/**
- * Initializes the record (actually, fills it with 0-s)
- * @param data is a record to initialize
- */
- extern void XklConfigRecInit( XklConfigRecPtr data );
-
-/**
- * Resets the record (equal to Destroy and Init)
- * @param data is a record to reset
- */
- extern void XklConfigRecReset( XklConfigRecPtr data );
-
-/**
- * Cleans the record (frees all the non-null members)
- * @param data is a record to clean
- */
- extern void XklConfigRecDestroy( XklConfigRecPtr data );
-
-/**
- * Compares the records
- * @param data1 is a record to compare
- * @param data2 is another record
- * @return True if records are same
- */
- extern Bool XklConfigRecEquals( XklConfigRecPtr data1, XklConfigRecPtr data2 );
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif