Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > d9faa203c2b0b6fbb179d93daaea81b7 > files > 1424

libdtn-devel-2.6.0-1mdv2009.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>DTN Reference Implementation: dtn::TCAScheme 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.6 -->
<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_1TCAScheme.html">TCAScheme</a>
  </div>
</div>
<div class="contents">
<h1>dtn::TCAScheme Class Reference</h1><!-- doxytag: class="dtn::TCAScheme" --><!-- doxytag: inherits="dtn::Scheme" --><code>#include &lt;<a class="el" href="TCAScheme_8h-source.html">TCAScheme.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtn::TCAScheme:</div>
<div class="dynsection">

<p><center><img src="classdtn_1_1TCAScheme.png" usemap="#dtn::TCAScheme_map" border="0" alt=""></center>
<map name="dtn::TCAScheme_map">
<area href="classdtn_1_1Scheme.html" alt="dtn::Scheme" shape="rect" coords="0,0,105,24">
</map>
</div>

<p>
<a href="classdtn_1_1TCAScheme-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
This class implements the tca scheme. 
<p>
SSPs for this scheme take the canonical form:<p>
<code> tca://&lt;router identifier (guid)&gt;[/&lt;application tag&gt;=""&gt;] </code><p>
Where "router identifier" is a globally unique identifier. In practice, this will often be the DNS-style "hostname" string of an internet host, for the more-or-less static "infrastructure" nodes that make up the routers and gateways of the TCA network. For the true TCA mobiles, it may be something quite different, like the sha1 hash of an email address for example.<p>
"application tag" is any string of URI-valid characters.<p>
This implementation also supports limited wildcard matching for endpoint patterns. 
<p>Definition at line <a class="el" href="TCAScheme_8h-source.html#l00046">46</a> of file <a class="el" href="TCAScheme_8h-source.html">TCAScheme.h</a>.</p>
<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">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCAScheme.html#0bc054acac3be9c5ec5ab96a50d94a34">validate</a> (const <a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> &amp;uri, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> is_pattern=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validate that the SSP in the given URI is legitimate for this scheme.  <a href="#0bc054acac3be9c5ec5ab96a50d94a34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCAScheme.html#beaf090ef7539d09c0db2cc00d580279">match</a> (const <a class="el" href="classdtn_1_1EndpointIDPattern.html">EndpointIDPattern</a> &amp;pattern, const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Match the pattern to the endpoint id in a scheme-specific manner.  <a href="#beaf090ef7539d09c0db2cc00d580279"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCAScheme.html#b77d42e824c16a24055df4cefec21e13">append_service_tag</a> (<a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> *uri, const char *tag)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append the given service tag to the URI in a scheme-specific manner.  <a href="#b77d42e824c16a24055df4cefec21e13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classdtn_1_1EndpointID.html#43d537f639ac64ca9b401701dae46f28">singleton_info_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCAScheme.html#3b8a8d50b0a4103b7875491ab1bcb3e1">is_singleton</a> (const <a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> &amp;uri)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the given URI is a singleton EID.  <a href="#3b8a8d50b0a4103b7875491ab1bcb3e1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private 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_1TCAScheme.html#52104b4f2710410c083a1cfe3a33a77e">TCAScheme</a> ()</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="classdtn_1_1TCAScheme.html#ae9823816b03aba6235d5491de3da240">oasys::Singleton&lt; TCAScheme &gt;</a></td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="52104b4f2710410c083a1cfe3a33a77e"></a><!-- doxytag: member="dtn::TCAScheme::TCAScheme" ref="52104b4f2710410c083a1cfe3a33a77e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::TCAScheme::TCAScheme           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="TCAScheme_8h-source.html#l00080">80</a> of file <a class="el" href="TCAScheme_8h-source.html">TCAScheme.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0bc054acac3be9c5ec5ab96a50d94a34"></a><!-- doxytag: member="dtn::TCAScheme::validate" ref="0bc054acac3be9c5ec5ab96a50d94a34" args="(const URI &amp;uri, bool is_pattern=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::TCAScheme::validate           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>is_pattern</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Validate that the SSP in the given URI is legitimate for this scheme. 
<p>
If the 'is_pattern' paraemeter is true, then the ssp is being validated as an <a class="el" href="classdtn_1_1EndpointIDPattern.html" title="A Distinct class for endpoint patterns (i.e.">EndpointIDPattern</a>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if valid</dd></dl>
If the 'is_pattern' parameter is true, then the ssp is being validated as an <a class="el" href="classdtn_1_1EndpointIDPattern.html" title="A Distinct class for endpoint patterns (i.e.">EndpointIDPattern</a>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if valid </dd></dl>

<p>Implements <a class="el" href="classdtn_1_1Scheme.html#fe5c727a96aa6cd6bec8c731df4e868e">dtn::Scheme</a>.</p>

<p>Definition at line <a class="el" href="TCAScheme_8cc-source.html#l00040">40</a> of file <a class="el" href="TCAScheme_8cc-source.html">TCAScheme.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="beaf090ef7539d09c0db2cc00d580279"></a><!-- doxytag: member="dtn::TCAScheme::match" ref="beaf090ef7539d09c0db2cc00d580279" args="(const EndpointIDPattern &amp;pattern, const EndpointID &amp;eid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::TCAScheme::match           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointIDPattern.html">EndpointIDPattern</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Match the pattern to the endpoint id in a scheme-specific manner. 
<p>
Match the given ssp with the given pattern.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if it matches </dd></dl>

<p>Implements <a class="el" href="classdtn_1_1Scheme.html#93f324d766daa8cd2755602a7214e4b3">dtn::Scheme</a>.</p>

<p>Definition at line <a class="el" href="TCAScheme_8cc-source.html#l00064">64</a> of file <a class="el" href="TCAScheme_8cc-source.html">TCAScheme.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="EndpointID_8h-source.html#l00233">dtn::EndpointID::known_scheme()</a>, <a class="el" href="EndpointID_8h-source.html#l00261">dtn::EndpointID::scheme()</a>, <a class="el" href="EndpointID_8h-source.html#l00260">dtn::EndpointID::ssp()</a>, and <a class="el" href="EndpointID_8h-source.html#l00257">dtn::EndpointID::uri()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b77d42e824c16a24055df4cefec21e13"></a><!-- doxytag: member="dtn::TCAScheme::append_service_tag" ref="b77d42e824c16a24055df4cefec21e13" args="(URI *uri, const char *tag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::TCAScheme::append_service_tag           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> *&nbsp;</td>
          <td class="paramname"> <em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>tag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append the given service tag to the URI in a scheme-specific manner. 
<p>
Append the given service tag to the ssp in a scheme-specific manner.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this scheme is capable of service tags and the tag is a legal one, false otherwise. </dd></dl>

<p>Reimplemented from <a class="el" href="classdtn_1_1Scheme.html#b8f2bda7ebae467357cfcabaa83291f3">dtn::Scheme</a>.</p>

<p>Definition at line <a class="el" href="TCAScheme_8cc-source.html#l00152">152</a> of file <a class="el" href="TCAScheme_8cc-source.html">TCAScheme.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="3b8a8d50b0a4103b7875491ab1bcb3e1"></a><!-- doxytag: member="dtn::TCAScheme::is_singleton" ref="3b8a8d50b0a4103b7875491ab1bcb3e1" args="(const URI &amp;uri)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1EndpointID.html#43d537f639ac64ca9b401701dae46f28">Scheme::singleton_info_t</a> dtn::TCAScheme::is_singleton           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#0b3883e065c5b300f2581971eee1c009">URI</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>uri</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the given URI is a singleton EID. 
<p>

<p>Implements <a class="el" href="classdtn_1_1Scheme.html#c7b3e53d5f176d3ae1a710407d443d9c">dtn::Scheme</a>.</p>

<p>Definition at line <a class="el" href="TCAScheme_8cc-source.html#l00164">164</a> of file <a class="el" href="TCAScheme_8cc-source.html">TCAScheme.cc</a>.</p>

<p>References <a class="el" href="EndpointID_8h-source.html#l00206">dtn::EndpointID::MULTINODE</a>, and <a class="el" href="EndpointID_8h-source.html#l00206">dtn::EndpointID::SINGLETON</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="ae9823816b03aba6235d5491de3da240"></a><!-- doxytag: member="dtn::TCAScheme::oasys::Singleton&lt; TCAScheme &gt;" ref="ae9823816b03aba6235d5491de3da240" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class oasys::Singleton&lt; <a class="el" href="classdtn_1_1TCAScheme.html">TCAScheme</a> &gt;<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="TCAScheme_8h-source.html#l00079">79</a> of file <a class="el" href="TCAScheme_8h-source.html">TCAScheme.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="TCAScheme_8h-source.html">TCAScheme.h</a><li><a class="el" href="TCAScheme_8cc-source.html">TCAScheme.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:53 2008 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.6 </small></address>
</body>
</html>