Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > e30a327878e3ba1e4fc6c751cb1f95c0 > files > 169

libscim-devel-1.4.9-2mdv2010.0.i586.rpm

<!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: scim::Transaction 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.7.1 -->
<div class="navigation" id="top">
  <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 class="current"><a href="annotated.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="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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="navpath"><a class="el" href="a00157.html">scim</a>::<a class="el" href="a00109.html">Transaction</a>
  </div>
</div>
<div class="contents">
<h1>scim::Transaction Class Reference<br>
<small>
[<a class="el" href="a00165.html">SocketCommunication</a>]</small>
</h1><!-- doxytag: class="scim::Transaction" -->This class is used to pack up many data and commands into one package and send them via socket.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;scim_transaction.h&gt;</code>
<p>

<p>
<a href="a00322.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="a00109.html#740dbd064cb28ececcf44327ea7ef32c">Transaction</a> (size_t bufsize=512)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#740dbd064cb28ececcf44327ea7ef32c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#4cff6f21cb59d47352116137e92f0f5e">~Transaction</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#4cff6f21cb59d47352116137e92f0f5e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#ab1125ea349a382e6aad988f75fce5f7">valid</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the transaction is valid.  <a href="#ab1125ea349a382e6aad988f75fce5f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#9529989de1832f7bfb6f1ce0d95596de">get_size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of this transaction.  <a href="#9529989de1832f7bfb6f1ce0d95596de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#ec65007a7eaa567eccfb49dbe7cdcaf6">write_to_socket</a> (const <a class="el" href="a00104.html">Socket</a> &amp;socket, <a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> signature=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the transaction to a socket.  <a href="#ec65007a7eaa567eccfb49dbe7cdcaf6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#7da9ad173a4ae3ec1e1bd0f432bf121f">read_from_socket</a> (const <a class="el" href="a00104.html">Socket</a> &amp;socket, int timeout=-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a transaction from a socket.  <a href="#7da9ad173a4ae3ec1e1bd0f432bf121f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#10eb3415961e787b995740089620e150">write_to_buffer</a> (void *buf, size_t bufsize) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the transaction into a buffer.  <a href="#10eb3415961e787b995740089620e150"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#caa333b993e7f27b8c004269ac93543a">read_from_buffer</a> (const void *buf, size_t bufsize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a transaction from a buffer.  <a href="#caa333b993e7f27b8c004269ac93543a"></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="a00109.html#eedf8867217ee891035129c8b413c523">put_command</a> (int cmd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a command into this transaction.  <a href="#eedf8867217ee891035129c8b413c523"></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="a00109.html#db7ae3a2d2a6eedca6f6436e7b3ba69c">put_data</a> (<a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a uint32 value into this transaction.  <a href="#db7ae3a2d2a6eedca6f6436e7b3ba69c"></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="a00109.html#971cf587efb4aab140bfabb5da982fc9">put_data</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a String object into this transaction.  <a href="#971cf587efb4aab140bfabb5da982fc9"></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="a00109.html#65ee1ef50733e2bf82865b9f8e909325">put_data</a> (const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a WideString object into this transaction.  <a href="#65ee1ef50733e2bf82865b9f8e909325"></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="a00109.html#fe4a34378fe98f978a8ff7d965904066">put_data</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> object into this transaction.  <a href="#fe4a34378fe98f978a8ff7d965904066"></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="a00109.html#f6b81433e2a4fe70c42343f119b39f80">put_data</a> (const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;attrs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store an AttributeList object into this transaction.  <a href="#f6b81433e2a4fe70c42343f119b39f80"></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="a00109.html#6e314916ceb92462d725a377b6e4cdb1">put_data</a> (const <a class="el" href="a00071.html">Property</a> &amp;property)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a <a class="el" href="a00071.html" title="Class to hold a property of a IMEngineInstance object or a Panel GUI client.">Property</a> object into this transaction.  <a href="#6e314916ceb92462d725a377b6e4cdb1"></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="a00109.html#4d9358d3d44c093801a69f87c191a026">put_data</a> (const <a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;properties)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a PropertyList object into this transaction.  <a href="#4d9358d3d44c093801a69f87c191a026"></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="a00109.html#9a25621c73dfb0480042df43ffda08e6">put_data</a> (const <a class="el" href="a00055.html">LookupTable</a> &amp;table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a <a class="el" href="a00055.html" title="The base class of lookup table.">LookupTable</a> object into this transaction.  <a href="#9a25621c73dfb0480042df43ffda08e6"></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="a00109.html#c38943a6eee465ab19eea857c438e7bb">put_data</a> (const std::vector&lt; <a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a std::vector&lt;uint32&gt; object into this transaction.  <a href="#c38943a6eee465ab19eea857c438e7bb"></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="a00109.html#298d372a8615a7b8d5dca80afe48e6e0">put_data</a> (const std::vector&lt; <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a std::vector&lt;String&gt; object into this transaction.  <a href="#298d372a8615a7b8d5dca80afe48e6e0"></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="a00109.html#b63b94bb22b7b7465af6839fbd9637ca">put_data</a> (const std::vector&lt; <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a std::vector&lt;WideString&gt; object into this transaction.  <a href="#b63b94bb22b7b7465af6839fbd9637ca"></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="a00109.html#ce0786b2ae3603be3b34e23c60fefeae">put_data</a> (const char *raw, size_t bufsize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a raw buffer into this transaction.  <a href="#ce0786b2ae3603be3b34e23c60fefeae"></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="a00109.html#a400eeb553a43f69d991ac9732e2449d">put_data</a> (const <a class="el" href="a00109.html">Transaction</a> &amp;trans)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store another <a class="el" href="a00109.html" title="This class is used to pack up many data and commands into one package and send them...">Transaction</a> object into this transaction.  <a href="#a400eeb553a43f69d991ac9732e2449d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00165.html#gd097314245c4f0bce212ebd514953cc5">TransactionDataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#dc2299af832f08b614c8cac7c224f4cc">get_data_type</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type of the data at current read position.  <a href="#dc2299af832f08b614c8cac7c224f4cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#1b755cd842b41f297ba1be675107221e">get_command</a> (int &amp;cmd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a command from current read position.  <a href="#1b755cd842b41f297ba1be675107221e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#62d6288f041089fe397195fd55376bec">get_data</a> (<a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &amp;val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an uint32 value from current read position.  <a href="#62d6288f041089fe397195fd55376bec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#5d41b9f043df9856dbb5ec43f54ceb89">get_data</a> (<a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a String from current read position.  <a href="#5d41b9f043df9856dbb5ec43f54ceb89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#e7ab073803748a77248933b504110e1d">get_data</a> (<a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a WideString from current read position.  <a href="#e7ab073803748a77248933b504110e1d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#4c7bcab0fff44fa1522f9bb869b9a189">get_data</a> (<a class="el" href="a00054.html">KeyEvent</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> from current read position.  <a href="#4c7bcab0fff44fa1522f9bb869b9a189"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#20af0ae6a5ed9b34e279cac34df2bad5">get_data</a> (<a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;attrs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an AttributeList from current read position.  <a href="#20af0ae6a5ed9b34e279cac34df2bad5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#f653dda5036927e2b97660a07989a662">get_data</a> (<a class="el" href="a00071.html">Property</a> &amp;property)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a <a class="el" href="a00071.html" title="Class to hold a property of a IMEngineInstance object or a Panel GUI client.">Property</a> from current read position.  <a href="#f653dda5036927e2b97660a07989a662"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#55108286fb67bcf616cff3b8817c307a">get_data</a> (<a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;properties)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a PropertyList from current read position.  <a href="#55108286fb67bcf616cff3b8817c307a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#12aba7ed95c73bcbab8d018b3b5c25fa">get_data</a> (<a class="el" href="a00011.html">CommonLookupTable</a> &amp;table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a <a class="el" href="a00011.html" title="A common lookup table class.">CommonLookupTable</a> from current read position.  <a href="#12aba7ed95c73bcbab8d018b3b5c25fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#97e9032644998499557c2966c1ad037b">get_data</a> (std::vector&lt; <a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a std::vector&lt;uint32&gt; from current read position.  <a href="#97e9032644998499557c2966c1ad037b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#b12ec204c889f7feaf7676e1f6f7870b">get_data</a> (std::vector&lt; <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a std::vector&lt;String&gt; from current read position.  <a href="#b12ec204c889f7feaf7676e1f6f7870b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#d149a87446ffb4b51c967acb19d79723">get_data</a> (std::vector&lt; <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &gt; &amp;vec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a std::vector&lt;WideString&gt; from current read position.  <a href="#d149a87446ffb4b51c967acb19d79723"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#31d8798ba379d5f030c8611b3e961f0e">get_data</a> (char **raw, size_t &amp;bufsize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a raw buffer from current read position.  <a href="#31d8798ba379d5f030c8611b3e961f0e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#b72144bc32ee2f3f9d5b9f04bc1ad9c1">get_data</a> (<a class="el" href="a00109.html">Transaction</a> &amp;trans)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a <a class="el" href="a00109.html" title="This class is used to pack up many data and commands into one package and send them...">Transaction</a> object from current read position.  <a href="#b72144bc32ee2f3f9d5b9f04bc1ad9c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#081862efa39a5d356cc55b9c4d41aaa7">skip_data</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Skip one data from current read position.  <a href="#081862efa39a5d356cc55b9c4d41aaa7"></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="a00109.html#30405844ccefd955317f013dc44f95bd">rewind</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rewind the current read position, then the data can be read again.  <a href="#30405844ccefd955317f013dc44f95bd"></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="a00109.html#09553e14f5f724d234eb31eb95e9a7f5">clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the transaction, all data in this transaction will be freed.  <a href="#09553e14f5f724d234eb31eb95e9a7f5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#5eb858b3775f170272facc0d7bce522c">TransactionReader</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is used to pack up many data and commands into one package and send them via socket. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="740dbd064cb28ececcf44327ea7ef32c"></a><!-- doxytag: member="scim::Transaction::Transaction" ref="740dbd064cb28ececcf44327ea7ef32c" args="(size_t bufsize=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::Transaction::Transaction           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em> = <code>512</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<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>bufsize</em>&nbsp;</td><td>the initial buffer size, maybe grow afterwards. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4cff6f21cb59d47352116137e92f0f5e"></a><!-- doxytag: member="scim::Transaction::~Transaction" ref="4cff6f21cb59d47352116137e92f0f5e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::Transaction::~Transaction           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ab1125ea349a382e6aad988f75fce5f7"></a><!-- doxytag: member="scim::Transaction::valid" ref="ab1125ea349a382e6aad988f75fce5f7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::valid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the transaction is valid. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this <a class="el" href="a00109.html" title="This class is used to pack up many data and commands into one package and send them...">Transaction</a> object is valid and ready to use. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9529989de1832f7bfb6f1ce0d95596de"></a><!-- doxytag: member="scim::Transaction::get_size" ref="9529989de1832f7bfb6f1ce0d95596de" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t scim::Transaction::get_size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the size of this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="ec65007a7eaa567eccfb49dbe7cdcaf6"></a><!-- doxytag: member="scim::Transaction::write_to_socket" ref="ec65007a7eaa567eccfb49dbe7cdcaf6" args="(const Socket &amp;socket, uint32 signature=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::write_to_socket           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00104.html">Socket</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>socket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>signature</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the transaction to a socket. 
<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>socket</em>&nbsp;</td><td>the socket to be written to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>signature</em>&nbsp;</td><td>the leading signature to be written into the socket before the transaction itself, this signature maybe missing when receive the transaction. It's useful to check the connection before receiving a transaction by reading this signature.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if success. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7da9ad173a4ae3ec1e1bd0f432bf121f"></a><!-- doxytag: member="scim::Transaction::read_from_socket" ref="7da9ad173a4ae3ec1e1bd0f432bf121f" args="(const Socket &amp;socket, int timeout=&#45;1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::read_from_socket           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00104.html">Socket</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>socket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a transaction from a socket. 
<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>socket</em>&nbsp;</td><td>the socket to be read from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>time out in millisecond (1/1000 second), -1 means infinity.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if success. </dd></dl>

</div>
</div><p>
<a class="anchor" name="10eb3415961e787b995740089620e150"></a><!-- doxytag: member="scim::Transaction::write_to_buffer" ref="10eb3415961e787b995740089620e150" args="(void *buf, size_t bufsize) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::write_to_buffer           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the transaction into a buffer. 
<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>buf</em>&nbsp;</td><td>A buffer to store the transaction data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>The size of this buffer. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if success (the buf is large enough). </dd></dl>

</div>
</div><p>
<a class="anchor" name="caa333b993e7f27b8c004269ac93543a"></a><!-- doxytag: member="scim::Transaction::read_from_buffer" ref="caa333b993e7f27b8c004269ac93543a" args="(const void *buf, size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::read_from_buffer           </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a transaction from a buffer. 
<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>buf</em>&nbsp;</td><td>A buffer contains the transaction. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>The size of this buffer. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if success. </dd></dl>

</div>
</div><p>
<a class="anchor" name="eedf8867217ee891035129c8b413c523"></a><!-- doxytag: member="scim::Transaction::put_command" ref="eedf8867217ee891035129c8b413c523" args="(int cmd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_command           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>cmd</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a command into this transaction. 
<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>cmd</em>&nbsp;</td><td>the command code, like SCIM_TRANS_CMD_FOCUS_IN etc. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="db7ae3a2d2a6eedca6f6436e7b3ba69c"></a><!-- doxytag: member="scim::Transaction::put_data" ref="db7ae3a2d2a6eedca6f6436e7b3ba69c" args="(uint32 val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a uint32 value into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="971cf587efb4aab140bfabb5da982fc9"></a><!-- doxytag: member="scim::Transaction::put_data" ref="971cf587efb4aab140bfabb5da982fc9" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a String object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="65ee1ef50733e2bf82865b9f8e909325"></a><!-- doxytag: member="scim::Transaction::put_data" ref="65ee1ef50733e2bf82865b9f8e909325" args="(const WideString &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a WideString object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="fe4a34378fe98f978a8ff7d965904066"></a><!-- doxytag: member="scim::Transaction::put_data" ref="fe4a34378fe98f978a8ff7d965904066" args="(const KeyEvent &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="f6b81433e2a4fe70c42343f119b39f80"></a><!-- doxytag: member="scim::Transaction::put_data" ref="f6b81433e2a4fe70c42343f119b39f80" args="(const AttributeList &amp;attrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store an AttributeList object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="6e314916ceb92462d725a377b6e4cdb1"></a><!-- doxytag: member="scim::Transaction::put_data" ref="6e314916ceb92462d725a377b6e4cdb1" args="(const Property &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00071.html">Property</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a <a class="el" href="a00071.html" title="Class to hold a property of a IMEngineInstance object or a Panel GUI client.">Property</a> object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="4d9358d3d44c093801a69f87c191a026"></a><!-- doxytag: member="scim::Transaction::put_data" ref="4d9358d3d44c093801a69f87c191a026" args="(const PropertyList &amp;properties)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>properties</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a PropertyList object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="9a25621c73dfb0480042df43ffda08e6"></a><!-- doxytag: member="scim::Transaction::put_data" ref="9a25621c73dfb0480042df43ffda08e6" args="(const LookupTable &amp;table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00055.html">LookupTable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>table</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a <a class="el" href="a00055.html" title="The base class of lookup table.">LookupTable</a> object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="c38943a6eee465ab19eea857c438e7bb"></a><!-- doxytag: member="scim::Transaction::put_data" ref="c38943a6eee465ab19eea857c438e7bb" args="(const std::vector&lt; uint32 &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a std::vector&lt;uint32&gt; object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="298d372a8615a7b8d5dca80afe48e6e0"></a><!-- doxytag: member="scim::Transaction::put_data" ref="298d372a8615a7b8d5dca80afe48e6e0" args="(const std::vector&lt; String &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a std::vector&lt;String&gt; object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="b63b94bb22b7b7465af6839fbd9637ca"></a><!-- doxytag: member="scim::Transaction::put_data" ref="b63b94bb22b7b7465af6839fbd9637ca" args="(const std::vector&lt; WideString &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a std::vector&lt;WideString&gt; object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="ce0786b2ae3603be3b34e23c60fefeae"></a><!-- doxytag: member="scim::Transaction::put_data" ref="ce0786b2ae3603be3b34e23c60fefeae" args="(const char *raw, size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>raw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a raw buffer into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="a400eeb553a43f69d991ac9732e2449d"></a><!-- doxytag: member="scim::Transaction::put_data" ref="a400eeb553a43f69d991ac9732e2449d" args="(const Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::put_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store another <a class="el" href="a00109.html" title="This class is used to pack up many data and commands into one package and send them...">Transaction</a> object into this transaction. 
<p>

</div>
</div><p>
<a class="anchor" name="dc2299af832f08b614c8cac7c224f4cc"></a><!-- doxytag: member="scim::Transaction::get_data_type" ref="dc2299af832f08b614c8cac7c224f4cc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00165.html#gd097314245c4f0bce212ebd514953cc5">TransactionDataType</a> scim::Transaction::get_data_type           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the type of the data at current read position. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The type of the data can be read currently. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1b755cd842b41f297ba1be675107221e"></a><!-- doxytag: member="scim::Transaction::get_command" ref="1b755cd842b41f297ba1be675107221e" args="(int &amp;cmd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_command           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>cmd</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a command from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="62d6288f041089fe397195fd55376bec"></a><!-- doxytag: member="scim::Transaction::get_data" ref="62d6288f041089fe397195fd55376bec" args="(uint32 &amp;val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an uint32 value from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="5d41b9f043df9856dbb5ec43f54ceb89"></a><!-- doxytag: member="scim::Transaction::get_data" ref="5d41b9f043df9856dbb5ec43f54ceb89" args="(String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a String from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="e7ab073803748a77248933b504110e1d"></a><!-- doxytag: member="scim::Transaction::get_data" ref="e7ab073803748a77248933b504110e1d" args="(WideString &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a WideString from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="4c7bcab0fff44fa1522f9bb869b9a189"></a><!-- doxytag: member="scim::Transaction::get_data" ref="4c7bcab0fff44fa1522f9bb869b9a189" args="(KeyEvent &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="20af0ae6a5ed9b34e279cac34df2bad5"></a><!-- doxytag: member="scim::Transaction::get_data" ref="20af0ae6a5ed9b34e279cac34df2bad5" args="(AttributeList &amp;attrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an AttributeList from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="f653dda5036927e2b97660a07989a662"></a><!-- doxytag: member="scim::Transaction::get_data" ref="f653dda5036927e2b97660a07989a662" args="(Property &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00071.html">Property</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a <a class="el" href="a00071.html" title="Class to hold a property of a IMEngineInstance object or a Panel GUI client.">Property</a> from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="55108286fb67bcf616cff3b8817c307a"></a><!-- doxytag: member="scim::Transaction::get_data" ref="55108286fb67bcf616cff3b8817c307a" args="(PropertyList &amp;properties)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>properties</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a PropertyList from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="12aba7ed95c73bcbab8d018b3b5c25fa"></a><!-- doxytag: member="scim::Transaction::get_data" ref="12aba7ed95c73bcbab8d018b3b5c25fa" args="(CommonLookupTable &amp;table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00011.html">CommonLookupTable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>table</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a <a class="el" href="a00011.html" title="A common lookup table class.">CommonLookupTable</a> from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="97e9032644998499557c2966c1ad037b"></a><!-- doxytag: member="scim::Transaction::get_data" ref="97e9032644998499557c2966c1ad037b" args="(std::vector&lt; uint32 &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a std::vector&lt;uint32&gt; from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="b12ec204c889f7feaf7676e1f6f7870b"></a><!-- doxytag: member="scim::Transaction::get_data" ref="b12ec204c889f7feaf7676e1f6f7870b" args="(std::vector&lt; String &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a std::vector&lt;String&gt; from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="d149a87446ffb4b51c967acb19d79723"></a><!-- doxytag: member="scim::Transaction::get_data" ref="d149a87446ffb4b51c967acb19d79723" args="(std::vector&lt; WideString &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a std::vector&lt;WideString&gt; from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="31d8798ba379d5f030c8611b3e961f0e"></a><!-- doxytag: member="scim::Transaction::get_data" ref="31d8798ba379d5f030c8611b3e961f0e" args="(char **raw, size_t &amp;bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>raw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a raw buffer from current read position. 
<p>
if raw == NULL then return the bufsize and skip this data. *raw should be deleted afterwards (do not use free!). 
</div>
</div><p>
<a class="anchor" name="b72144bc32ee2f3f9d5b9f04bc1ad9c1"></a><!-- doxytag: member="scim::Transaction::get_data" ref="b72144bc32ee2f3f9d5b9f04bc1ad9c1" args="(Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::get_data           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a <a class="el" href="a00109.html" title="This class is used to pack up many data and commands into one package and send them...">Transaction</a> object from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="081862efa39a5d356cc55b9c4d41aaa7"></a><!-- doxytag: member="scim::Transaction::skip_data" ref="081862efa39a5d356cc55b9c4d41aaa7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::Transaction::skip_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Skip one data from current read position. 
<p>

</div>
</div><p>
<a class="anchor" name="30405844ccefd955317f013dc44f95bd"></a><!-- doxytag: member="scim::Transaction::rewind" ref="30405844ccefd955317f013dc44f95bd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::rewind           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rewind the current read position, then the data can be read again. 
<p>

</div>
</div><p>
<a class="anchor" name="09553e14f5f724d234eb31eb95e9a7f5"></a><!-- doxytag: member="scim::Transaction::clear" ref="09553e14f5f724d234eb31eb95e9a7f5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::Transaction::clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear the transaction, all data in this transaction will be freed. 
<p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="5eb858b3775f170272facc0d7bce522c"></a><!-- doxytag: member="scim::Transaction::TransactionReader" ref="5eb858b3775f170272facc0d7bce522c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00111.html">TransactionReader</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00154.html">scim_transaction.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Apr 19 13:02:45 2009 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.7.1 </small></address>
</body>
</html>