scim  1.4.18
Helper

Classes

class  scim::HelperError
 
struct  scim::HelperInfo
 Structure to hold the information of a Helper object. More...
 
class  scim::HelperAgent
 The accessory class to write a Helper object. More...
 
class  scim::HelperManager
 This class is used to manage all helper objects. More...
 
class  scim::HelperModule
 The class used to load a Helper module and run its Helpers. More...
 

Typedefs

typedef Slot3< void, const HelperAgent *, int, const String & > scim::HelperAgentSlotVoid
 
typedef Slot4< void, const HelperAgent *, int, const String &, const String & > scim::HelperAgentSlotString
 
typedef Slot4< void, const HelperAgent *, int, const String &, int > scim::HelperAgentSlotInt
 
typedef Slot5< void, const HelperAgent *, int, const String &, int, int > scim::HelperAgentSlotIntInt
 
typedef Slot4< void, const HelperAgent *, int, const String &, const Transaction & > scim::HelperAgentSlotTransaction
 
typedef unsigned int(* scim::HelperModuleNumberOfHelpersFunc) (void)
 Get the number of Helpers in this module. More...
 
typedef bool(* scim::HelperModuleGetHelperInfoFunc) (unsigned int idx, HelperInfo &info)
 Get the information of a Helper. More...
 
typedef void(* scim::HelperModuleRunHelperFunc) (const String &uuid, const ConfigPointer &config, const String &display)
 Run a specific Helper. More...
 

Functions

int scim::scim_get_helper_module_list (std::vector< String > &mod_list)
 Get a name list of currently available Helper modules. More...
 

Variables

const uint32 scim::SCIM_HELPER_STAND_ALONE = 1
 Helper option indicates that it's a stand alone Helper. More...
 
const uint32 scim::SCIM_HELPER_AUTO_START = (1<<1)
 Helper option indicates that it must be started automatically when Panel starts. More...
 
const uint32 scim::SCIM_HELPER_AUTO_RESTART = (1<<2)
 Helper option indicates that it should be restarted when it exits abnormally. More...
 
const uint32 scim::SCIM_HELPER_NEED_SCREEN_INFO = (1<<3)
 Helper option indicates that it needs the screen update information. More...
 
const uint32 scim::SCIM_HELPER_NEED_SPOT_LOCATION_INFO = (1<<4)
 Helper option indicates that it needs the spot location information. More...
 

Detailed Description

The accessory classes to help develop and manage Client Helper objects.

Typedef Documentation

◆ HelperAgentSlotVoid

typedef Slot3<void, const HelperAgent *, int, const String &> scim::HelperAgentSlotVoid

◆ HelperAgentSlotString

typedef Slot4<void, const HelperAgent *, int, const String &, const String &> scim::HelperAgentSlotString

◆ HelperAgentSlotInt

typedef Slot4<void, const HelperAgent *, int, const String &, int> scim::HelperAgentSlotInt

◆ HelperAgentSlotIntInt

typedef Slot5<void, const HelperAgent *, int, const String &, int, int> scim::HelperAgentSlotIntInt

◆ HelperAgentSlotTransaction

typedef Slot4<void, const HelperAgent *, int, const String &, const Transaction &> scim::HelperAgentSlotTransaction

◆ HelperModuleNumberOfHelpersFunc

typedef unsigned int(* scim::HelperModuleNumberOfHelpersFunc) (void)

Get the number of Helpers in this module.

A helper module can have multiple Helpers in it. But each helper will run in its own process space.

There must be a function called "scim_helper_module_number_of_helpers" in each helper module which complies with this prototype. This function name can have a prefix like kbd_LTX_, in which "kbd" is the module's name.

◆ HelperModuleGetHelperInfoFunc

typedef bool(* scim::HelperModuleGetHelperInfoFunc) (unsigned int idx, HelperInfo &info)

Get the information of a Helper.

There must be a function called "scim_helper_module_get_helper_info" in each helper module which complies with this prototype. This function name can have a prefix like kbd_LTX_, in which "kbd" is the module's name.

Parameters
idxThe index of this helper, must between 0 to (the number of helpers) - 1.
infoThe HelperInfo object to store the information.
Returns
true if this Helper is valid and the correct information is stored into info.

◆ HelperModuleRunHelperFunc

typedef void(* scim::HelperModuleRunHelperFunc) (const String &uuid, const ConfigPointer &config, const String &display)

Run a specific Helper.

This function will be called within an independent process.

There must be a function called "scim_helper_module_run_helper" in each helper module which complies with this prototype. This function name can have a prefix like kbd_LTX_, in which "kbd" is the module's name.

Parameters
configThe Config object should be used to read/write configurations.
uuidThe UUID of the Helper to be run.
displayThe display in which this helper should run.

Function Documentation

◆ scim_get_helper_module_list()

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

Get a name list of currently available Helper modules.

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

Variable Documentation

◆ SCIM_HELPER_STAND_ALONE

const uint32 scim::SCIM_HELPER_STAND_ALONE = 1

Helper option indicates that it's a stand alone Helper.

Stand alone Helper has no corresponding IMEngine Factory, Such Helper can not be started by IMEngine Factory. So Panel must provide a menu, or something else, which contains all stand alone Helper items, so that user can start them by clicking the items.

◆ SCIM_HELPER_AUTO_START

const uint32 scim::SCIM_HELPER_AUTO_START = (1<<1)

Helper option indicates that it must be started automatically when Panel starts.

If Helper objects want to start itself as soon as the Panel starts, set this option.

◆ SCIM_HELPER_AUTO_RESTART

const uint32 scim::SCIM_HELPER_AUTO_RESTART = (1<<2)

Helper option indicates that it should be restarted when it exits abnormally.

This option should not be used with SCIM_HELPER_STAND_ALONE.

◆ SCIM_HELPER_NEED_SCREEN_INFO

const uint32 scim::SCIM_HELPER_NEED_SCREEN_INFO = (1<<3)

Helper option indicates that it needs the screen update information.

Helper object with this option will receive the UPDATE_SCREEN event when the screen of focused ic is changed.

◆ SCIM_HELPER_NEED_SPOT_LOCATION_INFO

const uint32 scim::SCIM_HELPER_NEED_SPOT_LOCATION_INFO = (1<<4)

Helper option indicates that it needs the spot location information.

Helper object with this option will receive the SPOT_LOCATION_INFO event when the spot location of focused ic is changed.