Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 29c369053a983cc5d8c880dc6e0a2237 > files > 1067

libdtn-devel-2.6.0-2mdv2009.1.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>DTN Reference Implementation: dtn::Dictionary Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</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="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="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1Dictionary.html">Dictionary</a>
  </div>
</div>
<div class="contents">
<h1>dtn::Dictionary Class Reference</h1><!-- doxytag: class="dtn::Dictionary" -->Simple data structure to handle a dictionary data structure, as specified by the bundle protocol, i.e.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="bundling_2Dictionary_8h-source.html">Dictionary.h</a>&gt;</code>
<p>

<p>
<a href="classdtn_1_1Dictionary-members.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="classdtn_1_1Dictionary.html#1377de39d239eef81b74ae41fa094ff3">Dictionary</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#8aac3949a24c2c092cac3954b98b931b">Dictionary</a> (const oasys::Builder &amp;)</td></tr>

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

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#3d7084a7bdc1a228e03e5f8054501d88">serialize</a> (oasys::SerializeAction *a)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#6d51cf771218e9fc39ca203abf4f5cf1">add_str</a> (const std::string &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add the given string to the dictionary if it doesn't already exist.  <a href="#6d51cf771218e9fc39ca203abf4f5cf1"></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="classdtn_1_1Dictionary.html#b08d7b9e5ce7bb481827a78107f50b3a">add_eid</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add the scheme and ssp of the given endpoint id to the dictionary.  <a href="#b08d7b9e5ce7bb481827a78107f50b3a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#bd8ed85d04f766c57de309244981c74a">get_offset</a> (const std::string &amp;str, u_int32_t *offset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up the given string in the dictionary, returning true and assigning the offset if found.  <a href="#bd8ed85d04f766c57de309244981c74a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#0ccb2fa35ef0218fa96d57348240be9a">get_offset</a> (const std::string &amp;str, u_int64_t *offset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#20b04310b304f88c32302b64b75853de">get_offsets</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid, u_int32_t *scheme_offset, u_int32_t *ssp_offset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up the given eid in the dictionary, returning true and assigning the offsets if found.  <a href="#20b04310b304f88c32302b64b75853de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#3ea472d64b722edec3fa37f6ff089a7e">get_offsets</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid, u_int64_t *scheme_offset, u_int64_t *ssp_offset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#192d234238daaefda8062da1d16836ad">extract_eid</a> (<a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> *eid, u_int32_t scheme_offset, u_int32_t ssp_offset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an eid from the dictionary, given the offsets.  <a href="#192d234238daaefda8062da1d16836ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#5b94f87040d0de35f1db363a1990293c">extract_eid</a> (<a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> *eid, u_int64_t scheme_offset, u_int64_t ssp_offset)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#40ec3ad601fa0cec1a5c5749c70c3c66">length</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#40ec3ad601fa0cec1a5c5749c70c3c66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const u_char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#7cbd6c154f97f5931bf5eb662a628820">dict</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#7cbd6c154f97f5931bf5eb662a628820"></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="classdtn_1_1Dictionary.html#1365f3dc972050e7f8fa47eb4cfa2476">set_dict</a> (const u_char *dict, u_int32_t length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#1365f3dc972050e7f8fa47eb4cfa2476"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#554a65a8e70ffbd593b17512989cefa0">dict_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classdtn_1_1Dictionary.html" title="Simple data structure to handle a dictionary data structure, as specified by the...">Dictionary</a> buffer.  <a href="#554a65a8e70ffbd593b17512989cefa0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#c02498fd4901b6311864e7c023ec489a">dict_length_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the dictionary buffer.  <a href="#c02498fd4901b6311864e7c023ec489a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Dictionary.html#1dafb7559946a50da7df3cc320f12ad1">length_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the filled-in portion.  <a href="#1dafb7559946a50da7df3cc320f12ad1"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Simple data structure to handle a dictionary data structure, as specified by the bundle protocol, i.e. 
<p>
a sequence of null terminated strings. 
<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00030">30</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1377de39d239eef81b74ae41fa094ff3"></a><!-- doxytag: member="dtn::Dictionary::Dictionary" ref="1377de39d239eef81b74ae41fa094ff3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::Dictionary::Dictionary           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00027">27</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="8aac3949a24c2c092cac3954b98b931b"></a><!-- doxytag: member="dtn::Dictionary::Dictionary" ref="8aac3949a24c2c092cac3954b98b931b" args="(const oasys::Builder &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::Dictionary::Dictionary           </td>
          <td>(</td>
          <td class="paramtype">const oasys::Builder &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00033">33</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

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

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00039">39</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">dict_length_</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b08d7b9e5ce7bb481827a78107f50b3a"></a><!-- doxytag: member="dtn::Dictionary::add_eid" ref="b08d7b9e5ce7bb481827a78107f50b3a" args="(const EndpointID &amp;eid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Dictionary::add_eid           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add the scheme and ssp of the given endpoint id to the dictionary. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00052">52</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">add_str()</a>, <a class="el" href="EndpointID_8h-source.html#l00259">dtn::EndpointID::scheme_str()</a>, and <a class="el" href="EndpointID_8h-source.html#l00260">dtn::EndpointID::ssp()</a>.</p>

<p>Referenced by <a class="el" href="BlockProcessor_8cc-source.html#l00206">dtn::BlockProcessor::generate_preamble()</a>, and <a class="el" href="PrimaryBlockProcessor_8cc-source.html#l00274">dtn::PrimaryBlockProcessor::prepare()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6d51cf771218e9fc39ca203abf4f5cf1"></a><!-- doxytag: member="dtn::Dictionary::add_str" ref="6d51cf771218e9fc39ca203abf4f5cf1" args="(const std::string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Dictionary::add_str           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add the given string to the dictionary if it doesn't already exist. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">99</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">dict_length_</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">get_offset()</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

<p>Referenced by <a class="el" href="bundling_2Dictionary_8h-source.html#l00052">add_eid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7cbd6c154f97f5931bf5eb662a628820"></a><!-- doxytag: member="dtn::Dictionary::dict" ref="7cbd6c154f97f5931bf5eb662a628820" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const u_char* dtn::Dictionary::dict           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00039">39</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>.</p>

<p>Referenced by <a class="el" href="PrimaryBlockProcessor_8cc-source.html#l00595">dtn::PrimaryBlockProcessor::generate_primary()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5b94f87040d0de35f1db363a1990293c"></a><!-- doxytag: member="dtn::Dictionary::extract_eid" ref="5b94f87040d0de35f1db363a1990293c" args="(EndpointID *eid, u_int64_t scheme_offset, u_int64_t ssp_offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::extract_eid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> *&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t&nbsp;</td>
          <td class="paramname"> <em>scheme_offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t&nbsp;</td>
          <td class="paramname"> <em>ssp_offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00178">178</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8cc-source.html#l00131">extract_eid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="192d234238daaefda8062da1d16836ad"></a><!-- doxytag: member="dtn::Dictionary::extract_eid" ref="192d234238daaefda8062da1d16836ad" args="(EndpointID *eid, u_int32_t scheme_offset, u_int32_t ssp_offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::extract_eid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> *&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>scheme_offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>ssp_offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an eid from the dictionary, given the offsets. 
<p>
Return true upon success. 
<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00131">131</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="EndpointID_8h-source.html#l00084">dtn::EndpointID::assign()</a>, <a class="el" href="EndpointID_8h-source.html#l00264">dtn::EndpointID::c_str()</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">dict_length_</a>, <a class="el" href="BlockProcessor_8cc-source.html#l00030">dtn::log</a>, <a class="el" href="SDNV_8cc-source.html#l00054">log_err_p</a>, <a class="el" href="EndpointID_8h-source.html#l00259">dtn::EndpointID::scheme_str()</a>, <a class="el" href="EndpointID_8h-source.html#l00260">dtn::EndpointID::ssp()</a>, and <a class="el" href="EndpointID_8h-source.html#l00262">dtn::EndpointID::valid()</a>.</p>

<p>Referenced by <a class="el" href="BlockProcessor_8cc-source.html#l00047">dtn::BlockProcessor::consume_preamble()</a>, and <a class="el" href="bundling_2Dictionary_8cc-source.html#l00178">extract_eid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0ccb2fa35ef0218fa96d57348240be9a"></a><!-- doxytag: member="dtn::Dictionary::get_offset" ref="0ccb2fa35ef0218fa96d57348240be9a" args="(const std::string &amp;str, u_int64_t *offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::get_offset           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t *&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00080">80</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="num2sdnv_8c-source.html#l00034">len</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

</div>
</div><p>
<a class="anchor" name="bd8ed85d04f766c57de309244981c74a"></a><!-- doxytag: member="dtn::Dictionary::get_offset" ref="bd8ed85d04f766c57de309244981c74a" args="(const std::string &amp;str, u_int32_t *offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::get_offset           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t *&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Look up the given string in the dictionary, returning true and assigning the offset if found. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">61</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="num2sdnv_8c-source.html#l00034">len</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

<p>Referenced by <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">add_str()</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00070">get_offsets()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ea472d64b722edec3fa37f6ff089a7e"></a><!-- doxytag: member="dtn::Dictionary::get_offsets" ref="3ea472d64b722edec3fa37f6ff089a7e" args="(const EndpointID &amp;eid, u_int64_t *scheme_offset, u_int64_t *ssp_offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::get_offsets           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t *&nbsp;</td>
          <td class="paramname"> <em>scheme_offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t *&nbsp;</td>
          <td class="paramname"> <em>ssp_offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00078">78</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">get_offset()</a>, <a class="el" href="EndpointID_8h-source.html#l00259">dtn::EndpointID::scheme_str()</a>, and <a class="el" href="EndpointID_8h-source.html#l00260">dtn::EndpointID::ssp()</a>.</p>

</div>
</div><p>
<a class="anchor" name="20b04310b304f88c32302b64b75853de"></a><!-- doxytag: member="dtn::Dictionary::get_offsets" ref="20b04310b304f88c32302b64b75853de" args="(const EndpointID &amp;eid, u_int32_t *scheme_offset, u_int32_t *ssp_offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Dictionary::get_offsets           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t *&nbsp;</td>
          <td class="paramname"> <em>scheme_offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t *&nbsp;</td>
          <td class="paramname"> <em>ssp_offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Look up the given eid in the dictionary, returning true and assigning the offsets if found. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00070">70</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">get_offset()</a>, <a class="el" href="EndpointID_8h-source.html#l00259">dtn::EndpointID::scheme_str()</a>, and <a class="el" href="EndpointID_8h-source.html#l00260">dtn::EndpointID::ssp()</a>.</p>

<p>Referenced by <a class="el" href="BlockProcessor_8cc-source.html#l00206">dtn::BlockProcessor::generate_preamble()</a>, and <a class="el" href="PrimaryBlockProcessor_8cc-source.html#l00177">dtn::PrimaryBlockProcessor::get_primary_len()</a>.</p>

</div>
</div><p>
<a class="anchor" name="40ec3ad601fa0cec1a5c5749c70c3c66"></a><!-- doxytag: member="dtn::Dictionary::length" ref="40ec3ad601fa0cec1a5c5749c70c3c66" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t dtn::Dictionary::length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00038">38</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

<p>Referenced by <a class="el" href="PrimaryBlockProcessor_8cc-source.html#l00595">dtn::PrimaryBlockProcessor::generate_primary()</a>, and <a class="el" href="PrimaryBlockProcessor_8cc-source.html#l00177">dtn::PrimaryBlockProcessor::get_primary_len()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3d7084a7bdc1a228e03e5f8054501d88"></a><!-- doxytag: member="dtn::Dictionary::serialize" ref="3d7084a7bdc1a228e03e5f8054501d88" args="(oasys::SerializeAction *a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Dictionary::serialize           </td>
          <td>(</td>
          <td class="paramtype">oasys::SerializeAction *&nbsp;</td>
          <td class="paramname"> <em>a</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00122">122</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">dict_length_</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

</div>
</div><p>
<a class="anchor" name="1365f3dc972050e7f8fa47eb4cfa2476"></a><!-- doxytag: member="dtn::Dictionary::set_dict" ref="1365f3dc972050e7f8fa47eb4cfa2476" args="(const u_char *dict, u_int32_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Dictionary::set_dict           </td>
          <td>(</td>
          <td class="paramtype">const u_char *&nbsp;</td>
          <td class="paramname"> <em>dict</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8cc-source.html#l00051">51</a> of file <a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">dict_</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">dict_length_</a>, and <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">length_</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="554a65a8e70ffbd593b17512989cefa0"></a><!-- doxytag: member="dtn::Dictionary::dict_" ref="554a65a8e70ffbd593b17512989cefa0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_char* <a class="el" href="classdtn_1_1Dictionary.html#554a65a8e70ffbd593b17512989cefa0">dtn::Dictionary::dict_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classdtn_1_1Dictionary.html" title="Simple data structure to handle a dictionary data structure, as specified by the...">Dictionary</a> buffer. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00099">99</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>Referenced by <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">add_str()</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00039">dict()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00131">extract_eid()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">get_offset()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00122">serialize()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00051">set_dict()</a>, and <a class="el" href="bundling_2Dictionary_8cc-source.html#l00039">~Dictionary()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c02498fd4901b6311864e7c023ec489a"></a><!-- doxytag: member="dtn::Dictionary::dict_length_" ref="c02498fd4901b6311864e7c023ec489a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t <a class="el" href="classdtn_1_1Dictionary.html#c02498fd4901b6311864e7c023ec489a">dtn::Dictionary::dict_length_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Length of the dictionary buffer. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00100">100</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>Referenced by <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">add_str()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00131">extract_eid()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00122">serialize()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00051">set_dict()</a>, and <a class="el" href="bundling_2Dictionary_8cc-source.html#l00039">~Dictionary()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1dafb7559946a50da7df3cc320f12ad1"></a><!-- doxytag: member="dtn::Dictionary::length_" ref="1dafb7559946a50da7df3cc320f12ad1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t <a class="el" href="classdtn_1_1Dictionary.html#1dafb7559946a50da7df3cc320f12ad1">dtn::Dictionary::length_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Length of the filled-in portion. 
<p>

<p>Definition at line <a class="el" href="bundling_2Dictionary_8h-source.html#l00101">101</a> of file <a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a>.</p>

<p>Referenced by <a class="el" href="bundling_2Dictionary_8cc-source.html#l00099">add_str()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00061">get_offset()</a>, <a class="el" href="bundling_2Dictionary_8h-source.html#l00038">length()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00122">serialize()</a>, <a class="el" href="bundling_2Dictionary_8cc-source.html#l00051">set_dict()</a>, and <a class="el" href="bundling_2Dictionary_8cc-source.html#l00039">~Dictionary()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="bundling_2Dictionary_8h-source.html">bundling/Dictionary.h</a><li><a class="el" href="bundling_2Dictionary_8cc-source.html">bundling/Dictionary.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:03 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>