Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 7392c77c84ff25edfeb07995a77d5148 > files > 386

steghide-0.5.1-11mdv2010.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>steghide: DummyFile 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.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</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>
<div class="contents">
<h1>DummyFile Class Reference</h1><!-- doxytag: class="DummyFile" --><!-- doxytag: inherits="CvrStgFile" -->a dummy <a class="el" href="classCvrStgFile.html" title="a cover-/stego-file">CvrStgFile</a> implementation to facilitate testing and debugging  

<p>
<code>#include &lt;<a class="el" href="DummyFile_8h_source.html">DummyFile.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for DummyFile:</div>
<div class="dynsection">

<p><center><img src="classDummyFile.png" usemap="#DummyFile_map" border="0" alt=""></center>
<map name="DummyFile_map">
<area href="classCvrStgFile.html" alt="CvrStgFile" shape="rect" coords="0,56,88,80">
<area href="classCvrStgObject.html" alt="CvrStgObject" shape="rect" coords="0,0,88,24">
</map>
</div>

<p>
<a href="classDummyFile-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="classDummyFile.html#94c2eff9aa3f00a5164c4089601d87f5">DummyFile</a> (<a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a> s, std::vector&lt; std::vector&lt; bool &gt; &gt; *svam)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::list&lt; <a class="el" href="classCvrStgFile_1_1Property.html">CvrStgFile::Property</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#3fce1fb1877eae42e8e45729e3e3494d">getProperties</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#32dd984c16df0a593d07dba46a708377">getNumSamples</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#702ca13d4515e719785b6c7b670354bb">replaceSample</a> (const <a class="el" href="common_8h.html#048401d1365616f5eef97e251096a02d">SamplePos</a> pos, const <a class="el" href="classSampleValue.html">SampleValue</a> *s)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classSampleValue.html">SampleValue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#3d89d5841d743e138788a028e7d87711">getSampleValue</a> (const <a class="el" href="common_8h.html#048401d1365616f5eef97e251096a02d">SamplePos</a> pos) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; std::vector&lt; bool &gt; &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#ca6eaab663da0ccfa2a3be11022675c0">getSampleValueAdjacencyMatrix</a> () const </td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#107e54b5336510f0e336db820248011e">createGraph</a> (std::vector&lt; std::list&lt; <a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a> &gt; &gt; &amp;adjlist, <a class="el" href="classBitString.html">BitString</a> **bs, <a class="el" href="classCvrStgFile.html">CvrStgFile</a> **f, <a class="el" href="classSelector.html">Selector</a> **s)</td></tr>

<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#709877388004e7a4fd55e330270ef610">Samples</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; std::vector&lt; bool &gt; &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#b061a391905b948f72f6c59688258dba">SampleValueAdjacencyMatrix</a></td></tr>

<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#cc0267226ad4c85d34f4e4bfa5088ef4">SamplesPerVertex</a> = 2</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="common_8h.html#cf820202f81f25eb00734eac0d7aed2d">EmbValue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDummyFile.html#a2ec37494bf0cb97569ab81a93f38b59">EmbValueModulus</a> = 2</td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="94c2eff9aa3f00a5164c4089601d87f5"></a><!-- doxytag: member="DummyFile::DummyFile" ref="94c2eff9aa3f00a5164c4089601d87f5" args="(UWORD16 s, std::vector&lt; std::vector&lt; bool &gt; &gt; *svam)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DummyFile::DummyFile           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a>&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::vector&lt; bool &gt; &gt; *&nbsp;</td>
          <td class="paramname"> <em>svam</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
construct a <a class="el" href="classDummyFile.html" title="a dummy CvrStgFile implementation to facilitate testing and debugging">DummyFile</a> object containing the sample values 0,1,...,s-1 <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the size of the <a class="el" href="classDummyFile.html" title="a dummy CvrStgFile implementation to facilitate testing and debugging">DummyFile</a> (i.e. the number of samples it should contain) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>svam</em>&nbsp;</td><td>the SampleValueAdjacencyMatrix for the Samples in this file </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="107e54b5336510f0e336db820248011e"></a><!-- doxytag: member="DummyFile::createGraph" ref="107e54b5336510f0e336db820248011e" args="(std::vector&lt; std::list&lt; UWORD16 &gt; &gt; &amp;adjlist, BitString **bs, CvrStgFile **f, Selector **s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DummyFile::createGraph           </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::list&lt; <a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a> &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>adjlist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classBitString.html">BitString</a> **&nbsp;</td>
          <td class="paramname"> <em>bs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCvrStgFile.html">CvrStgFile</a> **&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classSelector.html">Selector</a> **&nbsp;</td>
          <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
create a <a class="el" href="classBitString.html" title="a string of bits">BitString</a>, a <a class="el" href="classDummyFile.html" title="a dummy CvrStgFile implementation to facilitate testing and debugging">DummyFile</a> and a <a class="el" href="classSelector.html" title="a random permutation of a random combination">Selector</a> that together will produce a graph like described by the adjacency list <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>adjlist</em>&nbsp;</td><td>an adjacency list describing the "target graph" </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bs</em>&nbsp;</td><td>will be filled with the <a class="el" href="classBitString.html" title="a string of bits">BitString</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>will be filled with the <a class="el" href="classDummyFile.html" title="a dummy CvrStgFile implementation to facilitate testing and debugging">DummyFile</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>will be filled with the <a class="el" href="classSelector.html" title="a random permutation of a random combination">Selector</a></td></tr>
  </table>
</dl>
Constructing a <a class="el" href="classGraph.html" title="a graph constructed from a cover file and a message to be embedded">Graph</a> object with "Graph (*f, **bs, **s)" will result in a graph of the form of adjlist.<p>
The constructed graph has the following form: SamplesPerVertex == 2, EmbValueModulus = 2 every vertex has a sample value with bit == 0 at index 0 and one with bit == 1 at index 1, if two vertices are adjacent, one end of the edge is at index 0 of the vertex with the lower vertex label and the other end of the edge is at index 1 of the vertex with the higher vertex label. The distance between vertex with label i and vertex with label j is : 2*|j - i| + 1 
</div>
</div><p>
<a class="anchor" name="32dd984c16df0a593d07dba46a708377"></a><!-- doxytag: member="DummyFile::getNumSamples" ref="32dd984c16df0a593d07dba46a708377" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long DummyFile::getNumSamples           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the number of samples in this <a class="el" href="classCvrStgObject.html" title="an object that can hold embedded data">CvrStgObject</a> 
<p>Implements <a class="el" href="classCvrStgObject.html#80ae8f095b66683e5207adf8ff8265b4">CvrStgObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="3fce1fb1877eae42e8e45729e3e3494d"></a><!-- doxytag: member="DummyFile::getProperties" ref="3fce1fb1877eae42e8e45729e3e3494d" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classCvrStgFile_1_1Property.html">CvrStgFile::Property</a> &gt; DummyFile::getProperties           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implements <a class="el" href="classCvrStgFile.html#fe2f570ea6447c0636093b44ff7793cc">CvrStgFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="3d89d5841d743e138788a028e7d87711"></a><!-- doxytag: member="DummyFile::getSampleValue" ref="3d89d5841d743e138788a028e7d87711" args="(const SamplePos pos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSampleValue.html">SampleValue</a> * DummyFile::getSampleValue           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="common_8h.html#048401d1365616f5eef97e251096a02d">SamplePos</a>&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the sample at position pos <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>the position of a sample (must be in 0...<a class="el" href="classDummyFile.html#32dd984c16df0a593d07dba46a708377">getNumSamples()</a>-1) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the sample at the given position</dd></dl>
The sample object is created in this function and should be deleted by the caller. The derived class should check the condition(s) given above in its Implementation of this function. 
<p>Implements <a class="el" href="classCvrStgObject.html#c77a8da85a4f7b53e2166e990dfaa4f2">CvrStgObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="ca6eaab663da0ccfa2a3be11022675c0"></a><!-- doxytag: member="DummyFile::getSampleValueAdjacencyMatrix" ref="ca6eaab663da0ccfa2a3be11022675c0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::vector&lt;bool&gt; &gt;* DummyFile::getSampleValueAdjacencyMatrix           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="702ca13d4515e719785b6c7b670354bb"></a><!-- doxytag: member="DummyFile::replaceSample" ref="702ca13d4515e719785b6c7b670354bb" args="(const SamplePos pos, const SampleValue *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DummyFile::replaceSample           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="common_8h.html#048401d1365616f5eef97e251096a02d">SamplePos</a>&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSampleValue.html">SampleValue</a> *&nbsp;</td>
          <td class="paramname"> <em>s</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>
replace a sample thus (possibly) altering the value of the bit returned by SampleValue-&gt;getBit() <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>the position of the sample (must be in 0...<a class="el" href="classDummyFile.html#32dd984c16df0a593d07dba46a708377">getNumSamples()</a>-1) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the sample value that should replace the current sample value (must be of correct type for this <a class="el" href="classCvrStgObject.html" title="an object that can hold embedded data">CvrStgObject</a>)</td></tr>
  </table>
</dl>
The derived class should check the condition(s) given above in its Implementation of this function. 
<p>Implements <a class="el" href="classCvrStgObject.html#3068d6a9dcc1c0b8bde2f081cfde6ce5">CvrStgObject</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="a2ec37494bf0cb97569ab81a93f38b59"></a><!-- doxytag: member="DummyFile::EmbValueModulus" ref="a2ec37494bf0cb97569ab81a93f38b59" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="common_8h.html#cf820202f81f25eb00734eac0d7aed2d">EmbValue</a> <a class="el" href="classDummyFile.html#a2ec37494bf0cb97569ab81a93f38b59">DummyFile::EmbValueModulus</a> = 2<code> [static, private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="classCvrStgFile.html#5ce04f8bddd5cbe3e9f6c12112530c87">CvrStgFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="709877388004e7a4fd55e330270ef610"></a><!-- doxytag: member="DummyFile::Samples" ref="709877388004e7a4fd55e330270ef610" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="common_8h.html#9346f50cd1a0569efeb685f429a562ff">UWORD16</a>&gt; <a class="el" href="classDummyFile.html#709877388004e7a4fd55e330270ef610">DummyFile::Samples</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="cc0267226ad4c85d34f4e4bfa5088ef4"></a><!-- doxytag: member="DummyFile::SamplesPerVertex" ref="cc0267226ad4c85d34f4e4bfa5088ef4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="classDummyFile.html#cc0267226ad4c85d34f4e4bfa5088ef4">DummyFile::SamplesPerVertex</a> = 2<code> [static, private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="classCvrStgFile.html#db36bcc7f833abf7d57073fff494dbc1">CvrStgFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="b061a391905b948f72f6c59688258dba"></a><!-- doxytag: member="DummyFile::SampleValueAdjacencyMatrix" ref="b061a391905b948f72f6c59688258dba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::vector&lt;bool&gt; &gt;* <a class="el" href="classDummyFile.html#b061a391905b948f72f6c59688258dba">DummyFile::SampleValueAdjacencyMatrix</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="DummyFile_8h_source.html">DummyFile.h</a><li><a class="el" href="DummyFile_8cc.html">DummyFile.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 17 10:58:31 2009 for steghide by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>