IMEngine


Classes

class  scim::ComposeKeyFactory
 A simple IMEngine to deal with the Compose keys. More...
class  scim::ComposeKeyInstance
class  scim::FilterError
 An exception class to hold Filter related errors. More...
struct  scim::FilterInfo
 Structure to hold information for a Filter. More...
class  scim::FilterFactoryBase
 The base class to implement FilterFactory classes. More...
class  scim::FilterInstanceBase
 The base class to implement FilterInstance classes. More...
class  scim::FilterManager
class  scim::FilterModule
 The class to manipulate the Filter modules. More...
class  scim::IMEngineError
 An exception class to hold IMEngine related errors. More...
class  scim::IMEngineFactoryBase
 The base class of the real input methods' IMEngineFactory classes. More...
class  scim::IMEngineInstanceBase
 The base class of the real input methods' IMEngineInstance classes. More...
class  scim::DummyIMEngineFactory
 A trivial IMEngine that do nothing. More...
class  scim::DummyIMEngineInstance
class  scim::IMEngineModule
 The class to manipulate the IMEngine modules. More...

Defines

#define SCIM_COMPOSE_KEY_FACTORY_UUID   "c6bebc27-6324-4b77-8ad4-6d41dcaf2e08"

Typedefs

typedef Pointer
< FilterFactoryBase > 
scim::FilterFactoryPointer
typedef unsigned int(* scim::FilterModuleInitFunc )(const ConfigPointer &config)
 Initialize a Filter Module.
typedef FilterFactoryPointer(* scim::FilterModuleCreateFilterFunc )(unsigned int index)
 Create an object of this FilterFactory class.
typedef bool(* scim::FilterModuleGetFilterInfoFunc )(unsigned int index, FilterInfo &info)
 Get basic information of the FilterFactory class provided by this module.
typedef Pointer
< IMEngineFactoryBase > 
scim::IMEngineFactoryPointer
typedef Pointer
< IMEngineInstanceBase > 
scim::IMEngineInstancePointer
typedef Slot1< void,
IMEngineInstanceBase * > 
scim::IMEngineSlotVoid
typedef Slot2< void,
IMEngineInstanceBase *, int > 
scim::IMEngineSlotInt
typedef Slot2< void,
IMEngineInstanceBase *, bool > 
scim::IMEngineSlotBool
typedef Slot2< void,
IMEngineInstanceBase *, const
String & > 
scim::IMEngineSlotString
typedef Slot2< void,
IMEngineInstanceBase *, const
WideString & > 
scim::IMEngineSlotWideString
typedef Slot2< void,
IMEngineInstanceBase *, const
KeyEvent & > 
scim::IMEngineSlotKeyEvent
typedef Slot2< void,
IMEngineInstanceBase *, const
LookupTable & > 
scim::IMEngineSlotLookupTable
typedef Slot2< void,
IMEngineInstanceBase *, const
Property & > 
scim::IMEngineSlotProperty
typedef Slot2< void,
IMEngineInstanceBase *, const
PropertyList & > 
scim::IMEngineSlotPropertyList
typedef Slot3< void,
IMEngineInstanceBase *, const
String &, const Transaction & > 
scim::IMEngineSlotStringTransaction
typedef Slot3< void,
IMEngineInstanceBase *, const
WideString &, const
AttributeList & > 
scim::IMEngineSlotWideStringAttributeList
typedef Slot5< bool,
IMEngineInstanceBase
*, WideString &, int &, int,
int > 
scim::IMEngineSlotGetSurroundingText
typedef Slot3< bool,
IMEngineInstanceBase *, int,
int > 
scim::IMEngineSlotDeleteSurroundingText
typedef unsigned int(* scim::IMEngineModuleInitFunc )(const ConfigPointer &config)
 Initialize a IMEngine Module.
typedef IMEngineFactoryPointer(* scim::IMEngineModuleCreateFactoryFunc )(unsigned int engine)
 Create a factory instance for an engine,.

Enumerations

enum  scim::ClientCapability {
  scim::SCIM_CLIENT_CAP_ONTHESPOT_PREEDIT = (1 << 0), scim::SCIM_CLIENT_CAP_SINGLE_LEVEL_PROPERTY = (1 << 1), scim::SCIM_CLIENT_CAP_MULTI_LEVEL_PROPERTY = (1 << 2), scim::SCIM_CLIENT_CAP_TRIGGER_PROPERTY = (1 << 3),
  scim::SCIM_CLIENT_CAP_HELPER_MODULE = (1 << 4), scim::SCIM_CLIENT_CAP_SURROUNDING_TEXT = (1 << 5), scim::SCIM_CLIENT_CAP_ALL_CAPABILITIES = 0x3F
}
 Enum values of all Client Capabilities bitmask. More...

Functions

int scim::scim_get_filter_module_list (std::vector< String > &mod_list)
 Get a name list of currently available Filter modules.
int scim::scim_get_imengine_module_list (std::vector< String > &mod_list)
 Get a name list of currently available IMEngine modules.

Detailed Description

The base classes for filter input method engine modules.

The base classes for input method engine modules.


Define Documentation

#define SCIM_COMPOSE_KEY_FACTORY_UUID   "c6bebc27-6324-4b77-8ad4-6d41dcaf2e08"


Typedef Documentation

typedef Pointer< FilterFactoryBase > scim::FilterFactoryPointer

A smart pointer for scim::FilterFactoryBase and its derived classes.

typedef unsigned int(* scim::FilterModuleInitFunc)(const ConfigPointer &config)

Initialize a Filter Module.

There must be a function called "scim_filter_module_init" in each filter module which complies with this prototype. This function name can have a prefix like sctc_LTX_, in which "sctc" is the module's name.

If a filter needs services from other IMEngineFactory objects, it should obtain the pointer of these IMEngineFactory objects from the given BacnEnd pointer. But please note that, those IMEngineFactory objects may not be loaded yet, when initializing this Filter module. So the pointers of available IMEngineFactory objects should only be queried from the BackEnd at the first time to used by this Filter.

Parameters:
config a ConfigBase instance to maintain the configuration.
Returns:
the number of filters provided by this module.

typedef FilterFactoryPointer(* scim::FilterModuleCreateFilterFunc)(unsigned int index)

Create an object of this FilterFactory class.

There must be a function called "scim_filter_module_create_filter" which complies with this prototype. This function name can have a prefix like sctc_LTX_, in which "sctc" is the module's name.

A new FilterFactory object should be returned for each call. Because multiple objects would be used at the same time.

Parameters:
index the index of the FilterFactory to be used to create the object. Must between 0 and (number_of_filters - 1).
backend the BackEnd instance which holds all real IMEngineFactory objects. Some filter may want to use other IMEngineFactory object to do some job, eg. inverse convert.
Returns:
the pointer of the FilterFactory object.

typedef bool(* scim::FilterModuleGetFilterInfoFunc)(unsigned int index, FilterInfo &info)

Get basic information of the FilterFactory class provided by this module.

There must be a function called "scim_filter_module_get_filter_info" which complies with this prototype. This function name can have a prefix like sctc_LTX_, in which "sctc" is the module's name.

Parameters:
index The index of the FilterFactory to be queried.
info The object to hold the information.
index the index of the Filter to be queried.
Returns:
The uuid of this FilterFactory class.

typedef Pointer< IMEngineFactoryBase > scim::IMEngineFactoryPointer

A smart pointer for scim::IMEngineFactoryBase and its derived classes.

typedef Pointer< IMEngineInstanceBase > scim::IMEngineInstancePointer

A smart pointer for scim::IMEngineInstanceBase and its derived classes.

typedef Slot1<void, IMEngineInstanceBase*> scim::IMEngineSlotVoid

typedef Slot2<void, IMEngineInstanceBase*,int> scim::IMEngineSlotInt

typedef Slot2<void, IMEngineInstanceBase*,bool> scim::IMEngineSlotBool

typedef Slot2<void, IMEngineInstanceBase*,const String&> scim::IMEngineSlotString

typedef Slot2<void, IMEngineInstanceBase*,const WideString&> scim::IMEngineSlotWideString

typedef Slot2<void, IMEngineInstanceBase*,const KeyEvent&> scim::IMEngineSlotKeyEvent

typedef Slot2<void, IMEngineInstanceBase*,const LookupTable&> scim::IMEngineSlotLookupTable

typedef Slot2<void, IMEngineInstanceBase*,const Property&> scim::IMEngineSlotProperty

typedef Slot2<void, IMEngineInstanceBase*,const PropertyList&> scim::IMEngineSlotPropertyList

typedef Slot3<void, IMEngineInstanceBase*,const String&,const Transaction&> scim::IMEngineSlotStringTransaction

typedef Slot3<void, IMEngineInstanceBase*,const WideString&,const AttributeList&> scim::IMEngineSlotWideStringAttributeList

typedef Slot5<bool, IMEngineInstanceBase*,WideString&,int&,int,int> scim::IMEngineSlotGetSurroundingText

typedef Slot3<bool, IMEngineInstanceBase*,int,int> scim::IMEngineSlotDeleteSurroundingText

typedef unsigned int(* scim::IMEngineModuleInitFunc)(const ConfigPointer &config)

Initialize a IMEngine Module.

There must be a function called "scim_imengine_module_init" in each imengine module which complies with this prototype. This function name can have a prefix like table_LTX_, in which "table" is the module's name.

Parameters:
config - a ConfigBase instance to maintain the configuration.
Returns:
the number of factories supported by this IMEngine Module.

typedef IMEngineFactoryPointer(* scim::IMEngineModuleCreateFactoryFunc)(unsigned int engine)

Create a factory instance for an engine,.

There must be a function called "scim_imengine_module_create_factory" which complies with this prototype. This function name can have a prefix like table_LTX_, in which "table" is the module's name.

Parameters:
engine - the index of the engine for which a factory object will be created.
Returns:
the pointer of the factory object.


Enumeration Type Documentation

Enum values of all Client Capabilities bitmask.

These capabilities are not always supported by all kinds of clients. So if an IMEngine requires some of them to realize some features, it should make sure that they are supported by client by checking the cap value sent by update_client_capabilities() action.

Enumerator:
SCIM_CLIENT_CAP_ONTHESPOT_PREEDIT  The client support OnTheSpot preedit (embed preedit string into client window)
SCIM_CLIENT_CAP_SINGLE_LEVEL_PROPERTY  The client support displaying single level property, property tree may not be supported
SCIM_CLIENT_CAP_MULTI_LEVEL_PROPERTY  The client support displaying multiple level property, aka. property tree
SCIM_CLIENT_CAP_TRIGGER_PROPERTY  The client is capabile to trigger the IMEngine property.
SCIM_CLIENT_CAP_HELPER_MODULE  The client support helper module
SCIM_CLIENT_CAP_SURROUNDING_TEXT  The client support get/delete surrounding text operations
SCIM_CLIENT_CAP_ALL_CAPABILITIES 


Function Documentation

int scim::scim_get_filter_module_list ( std::vector< String > &  mod_list  ) 

Get a name list of currently available Filter modules.

Parameters:
mod_list - the result list will be stored here.
Returns:
the number of the modules, equal to mod_list.size ().

int scim::scim_get_imengine_module_list ( std::vector< String > &  mod_list  ) 

Get a name list of currently available IMEngine modules.

Parameters:
mod_list - the result list will be stored here.
Returns:
the number of the modules, equal to mod_list.size ().


Generated on Sat Jan 24 23:45:05 2009 for scim by  doxygen 1.5.7.1