Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 3c9265ee0944a35fbede43df6ed55872 > files > 109

lib64scim-devel-1.4.7-10mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>scim: scim::IMEngineFactoryBase Class Reference</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.0 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;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 id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="a00157.html">scim</a>::<a class="el" href="a00050.html">IMEngineFactoryBase</a></div>
<h1>scim::IMEngineFactoryBase Class Reference<br>
<small>
[<a class="el" href="a00160.html">IMEngine</a>]</small>
</h1><!-- doxytag: class="scim::IMEngineFactoryBase" --><!-- doxytag: inherits="scim::ReferencedObject" -->The base class of the real input methods' IMEngineFactory classes.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;scim_imengine.h&gt;</code>
<p>
Inheritance diagram for scim::IMEngineFactoryBase:<p><center><img src="a00374.png" border="0" usemap="#a00375" alt="Inheritance graph"></center>
<map name="a00375">
<area href="a00012.html" shape="rect" coords="7,157,183,181" alt="">
<area href="a00022.html" shape="rect" coords="207,157,404,181" alt="">
<area href="a00026.html" shape="rect" coords="428,157,604,181" alt="">
<area href="a00072.html" shape="rect" coords="220,8,391,32" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for scim::IMEngineFactoryBase:<p><center><img src="a00376.png" border="0" usemap="#a00377" alt="Collaboration graph"></center>
<map name="a00377">
<area href="a00072.html" shape="rect" coords="16,8,187,32" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="a00378.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#fc2a40c113d6aace917cf3233e8c76c5">IMEngineFactoryBase</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#f34738c7fe9e863466c25495387fb087">~IMEngineFactoryBase</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual destructor.  <a href="#f34738c7fe9e863466c25495387fb087"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#8149111b68c2b10a515a307b7476ae6c">validate_encoding</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;encoding) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if an encoding is supported by this IMEngineFactory.  <a href="#8149111b68c2b10a515a307b7476ae6c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#f9ca6ba3bcff44112df84cd98b02c88f">validate_locale</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;locale) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a locale is supported by this IMEngineFactory.  <a href="#f9ca6ba3bcff44112df84cd98b02c88f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#b31e429533cd515fad47c045cc5bb711">get_language</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the supported language of this input method engine.  <a href="#b31e429533cd515fad47c045cc5bb711"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#8e0f6c3450532bb3b4fa84de3a97c8fe">inverse_query</a> (const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the original key string of a composed string.  <a href="#8e0f6c3450532bb3b4fa84de3a97c8fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#3aee494ae23acadfb69625145d49563c">get_default_locale</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the default locale of this input method engine.  <a href="#3aee494ae23acadfb69625145d49563c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#0b37cdc2635983040c58a66af237d0af">get_default_encoding</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the default encoding of this input method engine.  <a href="#0b37cdc2635983040c58a66af237d0af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#d2e040e0bef80a4983b8bdbcfbe1c963">get_locales</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of all supported locales, separated by comma.  <a href="#d2e040e0bef80a4983b8bdbcfbe1c963"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#ff733d093c78b02ed4b084de5d20bca7">get_encodings</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of all supported encodings, separated by comma.  <a href="#ff733d093c78b02ed4b084de5d20bca7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#7d4152be0afd1a95f13973e0e180632a">set_locales</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;locales)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the locales supported by this input method engine.  <a href="#7d4152be0afd1a95f13973e0e180632a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#bce1c79de9d82a2b14c0a45c634dc1fe">set_languages</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;languages)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the languages supported by this input method engine.  <a href="#bce1c79de9d82a2b14c0a45c634dc1fe"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The base class of the real input methods' IMEngineFactory classes. 
<p>
Each input method should implement a class derived from <a class="el" href="a00050.html">scim::IMEngineFactoryBase</a>, which takes charge of holding shared data, creating IMEngineInstances etc. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="fc2a40c113d6aace917cf3233e8c76c5"></a><!-- doxytag: member="scim::IMEngineFactoryBase::IMEngineFactoryBase" ref="fc2a40c113d6aace917cf3233e8c76c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::IMEngineFactoryBase::IMEngineFactoryBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f34738c7fe9e863466c25495387fb087"></a><!-- doxytag: member="scim::IMEngineFactoryBase::~IMEngineFactoryBase" ref="f34738c7fe9e863466c25495387fb087" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual scim::IMEngineFactoryBase::~IMEngineFactoryBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual destructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="20d91317ff7c2cc60725210049e705ea"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_name" ref="20d91317ff7c2cc60725210049e705ea" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_name           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the name of this input method engine. 
<p>
This name should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the name. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#9fe5c5c50639a46aa5be867532b56bfc">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#9eaad8caabdd2ed6e4cae1c176f2fed0">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#bf5ea1bc138b387a4856bb92ca854d1a">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="189ce916ba791abcf6c2553d8ebc11e0"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_uuid" ref="189ce916ba791abcf6c2553d8ebc11e0" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_uuid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the UUID of this input method engine. 
<p>
Each input method engine has an unique UUID to distinguish itself from other engines.<p>
You may use uuidgen command shipped with e2fsprogs package to generate this UUID.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A String containing an unique UUID. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#7889267ef151bbdae76e35b1ca5e5b9d">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#ef8a00920a42d0cdccb976c942675a4e">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#c181f2ba3e9382c95f23c0c1b5465242">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="f22c5cce4801400553d0686d58da3e9e"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_icon_file" ref="f22c5cce4801400553d0686d58da3e9e" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_icon_file           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the icon file path of this input method engine. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A String containing the icon file path on the local filesystem. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#5c8477108840d76bb4ed6761763d62c9">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#9eafcbda3c01c1a67a015ea6e952488e">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#79ed41a0a226ea323fcc261910146907">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="4874af640b799b0feb602d43fb016d22"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_authors" ref="4874af640b799b0feb602d43fb016d22" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_authors           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the authors information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing a list of the authors' name. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#5e2f0163300323ac17b4f544d014e56b">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#e516dde330d2baa99c747c0a6895ef8d">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#851319dfef054efc613470b1e2eeb160">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="80b752a4058c0a7866f0d772bd9193d6"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_credits" ref="80b752a4058c0a7866f0d772bd9193d6" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_credits           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the credits information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the credits information. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#11a593ce4a6e72a267c2ef1cdc62419f">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#d1129c06b1cda357209f86df2fb0b932">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#8a57437e32167d97cefb84b403e398f9">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="aa4f1d3099956c7d7795df62aa0811f2"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_help" ref="aa4f1d3099956c7d7795df62aa0811f2" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_help           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the help information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the help information. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#81a890dc520c5463f8c7da3f487cc906">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#b3d60924346b8de07341803de626c247">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#e5e52b19003d7c6583249ee4cbb558c1">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="a7e2ee7629f23b4079ba1dd1e23f7dea"></a><!-- doxytag: member="scim::IMEngineFactoryBase::create_instance" ref="a7e2ee7629f23b4079ba1dd1e23f7dea" args="(const String &amp;encoding, int id=-1)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00070.html">IMEngineInstancePointer</a> scim::IMEngineFactoryBase::create_instance           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encoding</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new IMEngineInstance object. 
<p>
This method creates a new <a class="el" href="a00052.html">scim::IMEngineInstanceBase</a> object with the given encoding and id.<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>encoding</em>&nbsp;</td><td>- the encoding supported by the client. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>- the instance id, should be unique. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A smart pointer points to this new IMEngineInstance object. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#3994313c8151a390834e7863286ed628">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#cbd863c653e886faa3891be6cb722052">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#9aa887267c901bb8be1b29466a1ed47c">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="8149111b68c2b10a515a307b7476ae6c"></a><!-- doxytag: member="scim::IMEngineFactoryBase::validate_encoding" ref="8149111b68c2b10a515a307b7476ae6c" args="(const String &amp;encoding) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool scim::IMEngineFactoryBase::validate_encoding           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encoding</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if an encoding is supported by this IMEngineFactory. 
<p>
The default implementation of this virtual function validates the encoding against the locale list set by method set_locales.<p>
It should be enough in most case.<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>encoding</em>&nbsp;</td><td>- the encoding name to be checked. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the encoding is supported, otherwise false. </dd></dl>

<p>
Reimplemented in <a class="el" href="a00012.html#84ea644f0d0c661af6726f2df7892150">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#866e4eb43785fce0e5a516c0dddbd3a2">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#15ac2a739fa20285032faac0a16b6a05">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="f9ca6ba3bcff44112df84cd98b02c88f"></a><!-- doxytag: member="scim::IMEngineFactoryBase::validate_locale" ref="f9ca6ba3bcff44112df84cd98b02c88f" args="(const String &amp;locale) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool scim::IMEngineFactoryBase::validate_locale           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>locale</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a locale is supported by this IMEngineFactory. 
<p>
The default implementation of this virtual function validates the locale against the locale list set by method set_locales.<p>
It should be enough in most case.<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>locale</em>&nbsp;</td><td>- the locale name to be checked. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the locale is supported, otherwise false. </dd></dl>

<p>
Reimplemented in <a class="el" href="a00012.html#960cfdd285370bafd13cf313bedd0663">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#48d668ce1300b27ce30eb582127c3730">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#798b986e7006bb368b3252cf8855898e">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="b31e429533cd515fad47c045cc5bb711"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_language" ref="b31e429533cd515fad47c045cc5bb711" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_language           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the supported language of this input method engine. 
<p>
The language name conforms to glibc locale naming standard, like: zh_CN Simplified Chinese zh_TW Traditional Chinese ja_JP Japanese ru_RU for Russian<p>
The second part of the name (territory id) can be omitted.<p>
The default implementation of this method will get the language name according to the return value of get_default_locale () method.<p>
This method maybe overwrited to return another language name, for example returning "~other" means other uncategorized languages. 
<p>
Reimplemented in <a class="el" href="a00026.html#23b6c2e2dec13497fc2f9f849e9efc16">scim::FilterFactoryBase</a>.
</div>
</div><p>
<a class="anchor" name="8e0f6c3450532bb3b4fa84de3a97c8fe"></a><!-- doxytag: member="scim::IMEngineFactoryBase::inverse_query" ref="8e0f6c3450532bb3b4fa84de3a97c8fe" args="(const WideString &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::inverse_query           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the original key string of a composed string. 
<p>
For example, in the pinyin input method of Simplified Chinese: the key string of composed string "中国" can be "zhongguo".<p>
The default implementation just returns a empty string.<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>str</em>&nbsp;</td><td>The composed string to be queried.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the original key string of the given composed string. </dd></dl>

<p>
Reimplemented in <a class="el" href="a00026.html#f0556243a1a02638f6b57c1fb5c81716">scim::FilterFactoryBase</a>.
</div>
</div><p>
<a class="anchor" name="3aee494ae23acadfb69625145d49563c"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_default_locale" ref="3aee494ae23acadfb69625145d49563c" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_default_locale           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the default locale of this input method engine. 
<p>
The default locale is the first locale in the locale list, which is set by method set_locales.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The default locale name. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0b37cdc2635983040c58a66af237d0af"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_default_encoding" ref="0b37cdc2635983040c58a66af237d0af" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_default_encoding           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the default encoding of this input method engine. 
<p>
The default encoding is the first locale's encoding in the locale list, which is set by method set_locales.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The default encoding name. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d2e040e0bef80a4983b8bdbcfbe1c963"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_locales" ref="d2e040e0bef80a4983b8bdbcfbe1c963" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_locales           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of all supported locales, separated by comma. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A comma separated locale list. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff733d093c78b02ed4b084de5d20bca7"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_encodings" ref="ff733d093c78b02ed4b084de5d20bca7" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_encodings           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of all supported encodings, separated by comma. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A comma separated encoding list. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7d4152be0afd1a95f13973e0e180632a"></a><!-- doxytag: member="scim::IMEngineFactoryBase::set_locales" ref="7d4152be0afd1a95f13973e0e180632a" args="(const String &amp;locales)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineFactoryBase::set_locales           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>locales</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the locales supported by this input method engine. 
<p>
This method should be called within the constructors of the derived classes.<p>
set_locales () and set_languages () are exclusive with each other. Only one method should be used for one Factory object.<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>locales</em>&nbsp;</td><td>- a comma separated list containing all valid locales should be supported by this input method engine. The first locale is the default one. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="bce1c79de9d82a2b14c0a45c634dc1fe"></a><!-- doxytag: member="scim::IMEngineFactoryBase::set_languages" ref="bce1c79de9d82a2b14c0a45c634dc1fe" args="(const String &amp;languages)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineFactoryBase::set_languages           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>languages</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the languages supported by this input method engine. 
<p>
This method should be called within the constructors of the derived classes.<p>
set_locales () and set_languages () are exclusive with each other. Only one method should be used for one Factory object.<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>languages</em>&nbsp;</td><td>- a comma separated list containing all valid languages should be supported by this input method engine. The first language is the default one. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="20d91317ff7c2cc60725210049e705ea"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_name" ref="20d91317ff7c2cc60725210049e705ea" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_name           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the name of this input method engine. 
<p>
This name should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the name. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#9fe5c5c50639a46aa5be867532b56bfc">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#9eaad8caabdd2ed6e4cae1c176f2fed0">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#bf5ea1bc138b387a4856bb92ca854d1a">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="189ce916ba791abcf6c2553d8ebc11e0"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_uuid" ref="189ce916ba791abcf6c2553d8ebc11e0" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_uuid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the UUID of this input method engine. 
<p>
Each input method engine has an unique UUID to distinguish itself from other engines.<p>
You may use uuidgen command shipped with e2fsprogs package to generate this UUID.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A String containing an unique UUID. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#7889267ef151bbdae76e35b1ca5e5b9d">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#ef8a00920a42d0cdccb976c942675a4e">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#c181f2ba3e9382c95f23c0c1b5465242">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="f22c5cce4801400553d0686d58da3e9e"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_icon_file" ref="f22c5cce4801400553d0686d58da3e9e" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineFactoryBase::get_icon_file           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the icon file path of this input method engine. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A String containing the icon file path on the local filesystem. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#5c8477108840d76bb4ed6761763d62c9">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#9eafcbda3c01c1a67a015ea6e952488e">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#79ed41a0a226ea323fcc261910146907">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="4874af640b799b0feb602d43fb016d22"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_authors" ref="4874af640b799b0feb602d43fb016d22" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_authors           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the authors information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing a list of the authors' name. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#5e2f0163300323ac17b4f544d014e56b">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#e516dde330d2baa99c747c0a6895ef8d">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#851319dfef054efc613470b1e2eeb160">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="80b752a4058c0a7866f0d772bd9193d6"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_credits" ref="80b752a4058c0a7866f0d772bd9193d6" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_credits           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the credits information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the credits information. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#11a593ce4a6e72a267c2ef1cdc62419f">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#d1129c06b1cda357209f86df2fb0b932">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#8a57437e32167d97cefb84b403e398f9">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="aa4f1d3099956c7d7795df62aa0811f2"></a><!-- doxytag: member="scim::IMEngineFactoryBase::get_help" ref="aa4f1d3099956c7d7795df62aa0811f2" args="() const=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> scim::IMEngineFactoryBase::get_help           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the help information of this input method engine. 
<p>
This string should be a localized string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A WideString containing the help information. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#81a890dc520c5463f8c7da3f487cc906">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#b3d60924346b8de07341803de626c247">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#e5e52b19003d7c6583249ee4cbb558c1">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<a class="anchor" name="a7e2ee7629f23b4079ba1dd1e23f7dea"></a><!-- doxytag: member="scim::IMEngineFactoryBase::create_instance" ref="a7e2ee7629f23b4079ba1dd1e23f7dea" args="(const String &amp;encoding, int id=-1)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00070.html">IMEngineInstancePointer</a> scim::IMEngineFactoryBase::create_instance           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encoding</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new IMEngineInstance object. 
<p>
This method creates a new <a class="el" href="a00052.html">scim::IMEngineInstanceBase</a> object with the given encoding and id.<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>encoding</em>&nbsp;</td><td>- the encoding supported by the client. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>- the instance id, should be unique. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A smart pointer points to this new IMEngineInstance object. </dd></dl>

<p>
Implemented in <a class="el" href="a00012.html#3994313c8151a390834e7863286ed628">scim::ComposeKeyFactory</a>, <a class="el" href="a00026.html#cbd863c653e886faa3891be6cb722052">scim::FilterFactoryBase</a>, and <a class="el" href="a00022.html#9aa887267c901bb8be1b29466a1ed47c">scim::DummyIMEngineFactory</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00136.html">scim_imengine.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Jun 28 14:12:39 2007 for scim by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
</body>
</html>