<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>scim: Helper</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Helper</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html">scim::HelperError</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html">scim::HelperInfo</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Structure to hold the information of a Helper object. <a href="a00044.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html">scim::HelperAgent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The accessory class to write a Helper object. <a href="a00042.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html">scim::HelperManager</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used to manage all helper objects. <a href="a00045.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">scim::HelperModule</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The class used to load a Helper module and run its Helpers. <a href="a00046.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Slot3< void, const <br class="typebreak"> HelperAgent *, int, const <br class="typebreak"> String & > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g5a51aa145841b0b46674ab6996fb51bd">scim::HelperAgentSlotVoid</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Slot4< void, const <br class="typebreak"> HelperAgent *, int, const <br class="typebreak"> String &, const String & > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g621e13292b0fa86ab6c6a875b3bf3874">scim::HelperAgentSlotString</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Slot4< void, const <br class="typebreak"> HelperAgent *, int, const <br class="typebreak"> String &, int > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#gbe6cf2f9cfb9d2105f981e0f6a15df3f">scim::HelperAgentSlotInt</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Slot5< void, const <br class="typebreak"> HelperAgent *, int, const <br class="typebreak"> String &, int, int > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g44c1e482392c8ff002350cd299ff706d">scim::HelperAgentSlotIntInt</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Slot4< void, const <br class="typebreak"> HelperAgent *, int, const <br class="typebreak"> String &, const Transaction & > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#ged047c6d43b2cad15484d0920c47af43">scim::HelperAgentSlotTransaction</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g21430085a8c6a093715049618cb12505">scim::HelperModuleNumberOfHelpersFunc</a> )(void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of Helpers in this module. <a href="#g21430085a8c6a093715049618cb12505"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g617ced2b889747b31e6861f207493bb4">scim::HelperModuleGetHelperInfoFunc</a> )(unsigned int idx, HelperInfo &info)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the information of a Helper. <a href="#g617ced2b889747b31e6861f207493bb4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#gac0ea80f0398628e55aae9b2d24a4e71">scim::HelperModuleRunHelperFunc</a> )(const String &uuid, const ConfigPointer &config, const String &display)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Run a specific Helper. <a href="#gac0ea80f0398628e55aae9b2d24a4e71"></a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#ge8b8feb4c9d8de960bdbee9f8c153ab2">scim::scim_get_helper_module_list</a> (std::vector< String > &mod_list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a name list of currently available Helper modules. <a href="#ge8b8feb4c9d8de960bdbee9f8c153ab2"></a><br></td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#gfbfb584762577b5bdf051b5b2c556922">scim::SCIM_HELPER_STAND_ALONE</a> = 1</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper option indicates that it's a stand alone Helper. <a href="#gfbfb584762577b5bdf051b5b2c556922"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g69c1633a3ce3c2bd2ffb435dac55e3cd">scim::SCIM_HELPER_AUTO_START</a> = (1<<1)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper option indicates that it must be started automatically when Panel starts. <a href="#g69c1633a3ce3c2bd2ffb435dac55e3cd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g1fff7377de7aad93917855a55d7f7f76">scim::SCIM_HELPER_AUTO_RESTART</a> = (1<<2)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper option indicates that it should be restarted when it exits abnormally. <a href="#g1fff7377de7aad93917855a55d7f7f76"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g1457d0f30f2c644db97be2b0a3cd006e">scim::SCIM_HELPER_NEED_SCREEN_INFO</a> = (1<<3)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper option indicates that it needs the screen update information. <a href="#g1457d0f30f2c644db97be2b0a3cd006e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html#g2fcc978e52b8c6d850fd7328c9535de4">scim::SCIM_HELPER_NEED_SPOT_LOCATION_INFO</a> = (1<<4)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper option indicates that it needs the spot location information. <a href="#g2fcc978e52b8c6d850fd7328c9535de4"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The accessory classes to help develop and manage Client Helper objects. <hr><h2>Typedef Documentation</h2> <a class="anchor" name="g5a51aa145841b0b46674ab6996fb51bd"></a><!-- doxytag: member="scim::HelperAgentSlotVoid" ref="g5a51aa145841b0b46674ab6996fb51bd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef Slot3<void, const HelperAgent *, int, const String &> <a class="el" href="a00099.html">scim::HelperAgentSlotVoid</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="g621e13292b0fa86ab6c6a875b3bf3874"></a><!-- doxytag: member="scim::HelperAgentSlotString" ref="g621e13292b0fa86ab6c6a875b3bf3874" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef Slot4<void, const HelperAgent *, int, const String &, const String &> <a class="el" href="a00100.html">scim::HelperAgentSlotString</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="gbe6cf2f9cfb9d2105f981e0f6a15df3f"></a><!-- doxytag: member="scim::HelperAgentSlotInt" ref="gbe6cf2f9cfb9d2105f981e0f6a15df3f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef Slot4<void, const HelperAgent *, int, const String &, int> <a class="el" href="a00100.html">scim::HelperAgentSlotInt</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="g44c1e482392c8ff002350cd299ff706d"></a><!-- doxytag: member="scim::HelperAgentSlotIntInt" ref="g44c1e482392c8ff002350cd299ff706d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef Slot5<void, const HelperAgent *, int, const String &, int, int> <a class="el" href="a00101.html">scim::HelperAgentSlotIntInt</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ged047c6d43b2cad15484d0920c47af43"></a><!-- doxytag: member="scim::HelperAgentSlotTransaction" ref="ged047c6d43b2cad15484d0920c47af43" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef Slot4<void, const HelperAgent *, int, const String &, const Transaction &> <a class="el" href="a00100.html">scim::HelperAgentSlotTransaction</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="g21430085a8c6a093715049618cb12505"></a><!-- doxytag: member="scim::HelperModuleNumberOfHelpersFunc" ref="g21430085a8c6a093715049618cb12505" args=")(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned int(* <a class="el" href="a00163.html#g21430085a8c6a093715049618cb12505">scim::HelperModuleNumberOfHelpersFunc</a>)(void) </td> </tr> </table> </div> <div class="memdoc"> <p> Get the number of Helpers in this module. <p> A helper module can have multiple Helpers in it. But each helper will run in its own process space.<p> 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. </div> </div><p> <a class="anchor" name="g617ced2b889747b31e6861f207493bb4"></a><!-- doxytag: member="scim::HelperModuleGetHelperInfoFunc" ref="g617ced2b889747b31e6861f207493bb4" args=")(unsigned int idx, HelperInfo &info)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef bool(* <a class="el" href="a00163.html#g617ced2b889747b31e6861f207493bb4">scim::HelperModuleGetHelperInfoFunc</a>)(unsigned int idx, HelperInfo &info) </td> </tr> </table> </div> <div class="memdoc"> <p> Get the information of a Helper. <p> 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.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>idx</em> </td><td>The index of this helper, must between 0 to (the number of helpers) - 1. </td></tr> <tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>The <a class="el" href="a00044.html" title="Structure to hold the information of a Helper object.">HelperInfo</a> object to store the information. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this Helper is valid and the correct information is stored into info. </dd></dl> </div> </div><p> <a class="anchor" name="gac0ea80f0398628e55aae9b2d24a4e71"></a><!-- doxytag: member="scim::HelperModuleRunHelperFunc" ref="gac0ea80f0398628e55aae9b2d24a4e71" args=")(const String &uuid, const ConfigPointer &config, const String &display)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef void(* <a class="el" href="a00163.html#gac0ea80f0398628e55aae9b2d24a4e71">scim::HelperModuleRunHelperFunc</a>)(const String &uuid, const ConfigPointer &config, const String &display) </td> </tr> </table> </div> <div class="memdoc"> <p> Run a specific Helper. <p> This function will be called within an independent process.<p> 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.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>config</em> </td><td>The Config object should be used to read/write configurations. </td></tr> <tr><td valign="top"></td><td valign="top"><em>uuid</em> </td><td>The UUID of the Helper to be run. </td></tr> <tr><td valign="top"></td><td valign="top"><em>display</em> </td><td>The display in which this helper should run. </td></tr> </table> </dl> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="ge8b8feb4c9d8de960bdbee9f8c153ab2"></a><!-- doxytag: member="scim::scim_get_helper_module_list" ref="ge8b8feb4c9d8de960bdbee9f8c153ab2" args="(std::vector< String > &mod_list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int scim::scim_get_helper_module_list </td> <td>(</td> <td class="paramtype">std::vector< String > & </td> <td class="paramname"> <em>mod_list</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get a name list of currently available Helper modules. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>mod_list</em> </td><td>- the result list will be stored here. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of the modules, equal to mod_list.size (). </dd></dl> </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="gfbfb584762577b5bdf051b5b2c556922"></a><!-- doxytag: member="scim::SCIM_HELPER_STAND_ALONE" ref="gfbfb584762577b5bdf051b5b2c556922" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const uint32 <a class="el" href="a00163.html#gfbfb584762577b5bdf051b5b2c556922">scim::SCIM_HELPER_STAND_ALONE</a> = 1 </td> </tr> </table> </div> <div class="memdoc"> <p> Helper option indicates that it's a stand alone Helper. <p> 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. </div> </div><p> <a class="anchor" name="g69c1633a3ce3c2bd2ffb435dac55e3cd"></a><!-- doxytag: member="scim::SCIM_HELPER_AUTO_START" ref="g69c1633a3ce3c2bd2ffb435dac55e3cd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const uint32 <a class="el" href="a00163.html#g69c1633a3ce3c2bd2ffb435dac55e3cd">scim::SCIM_HELPER_AUTO_START</a> = (1<<1) </td> </tr> </table> </div> <div class="memdoc"> <p> Helper option indicates that it must be started automatically when Panel starts. <p> If Helper objects want to start itself as soon as the Panel starts, set this option. </div> </div><p> <a class="anchor" name="g1fff7377de7aad93917855a55d7f7f76"></a><!-- doxytag: member="scim::SCIM_HELPER_AUTO_RESTART" ref="g1fff7377de7aad93917855a55d7f7f76" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const uint32 <a class="el" href="a00163.html#g1fff7377de7aad93917855a55d7f7f76">scim::SCIM_HELPER_AUTO_RESTART</a> = (1<<2) </td> </tr> </table> </div> <div class="memdoc"> <p> Helper option indicates that it should be restarted when it exits abnormally. <p> This option should not be used with <a class="el" href="a00163.html#gfbfb584762577b5bdf051b5b2c556922" title="Helper option indicates that it's a stand alone Helper.">SCIM_HELPER_STAND_ALONE</a>. </div> </div><p> <a class="anchor" name="g1457d0f30f2c644db97be2b0a3cd006e"></a><!-- doxytag: member="scim::SCIM_HELPER_NEED_SCREEN_INFO" ref="g1457d0f30f2c644db97be2b0a3cd006e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const uint32 <a class="el" href="a00163.html#g1457d0f30f2c644db97be2b0a3cd006e">scim::SCIM_HELPER_NEED_SCREEN_INFO</a> = (1<<3) </td> </tr> </table> </div> <div class="memdoc"> <p> Helper option indicates that it needs the screen update information. <p> Helper object with this option will receive the UPDATE_SCREEN event when the screen of focused ic is changed. </div> </div><p> <a class="anchor" name="g2fcc978e52b8c6d850fd7328c9535de4"></a><!-- doxytag: member="scim::SCIM_HELPER_NEED_SPOT_LOCATION_INFO" ref="g2fcc978e52b8c6d850fd7328c9535de4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const uint32 <a class="el" href="a00163.html#g2fcc978e52b8c6d850fd7328c9535de4">scim::SCIM_HELPER_NEED_SPOT_LOCATION_INFO</a> = (1<<4) </td> </tr> </table> </div> <div class="memdoc"> <p> Helper option indicates that it needs the spot location information. <p> Helper object with this option will receive the SPOT_LOCATION_INFO event when the spot location of focused ic is changed. </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Apr 19 13:02:37 2009 for scim by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>