Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > 7f3e5f74d754b480ec33648905c4afae > files > 138

glibmm2.4-doc-2.22.1-1mdv2010.0.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>glibmm: Glib::Checksum 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.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</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="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceGlib.html">Glib</a>::<a class="el" href="classGlib_1_1Checksum.html">Checksum</a>
  </div>
</div>
<div class="contents">
<h1>Glib::Checksum Class Reference</h1><!-- doxytag: class="Glib::Checksum" -->
<p>Computes the checksum for data. <a href="#_details">More...</a></p>

<p><a href="classGlib_1_1Checksum-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a> { <br/>
&#160;&#160;<a class="el" href="group__glibmmEnums.html#gga5d1c13a9d5c34bff7dd1e74654f282eba3129e0040dd5c2541baadb2d3dd87ec3">CHECKSUM_MD5</a>, <br/>
&#160;&#160;<a class="el" href="group__glibmmEnums.html#gga5d1c13a9d5c34bff7dd1e74654f282eba7e5a02d18bd90f5988de70a06d22c7ad">CHECKSUM_SHA1</a>, <br/>
&#160;&#160;<a class="el" href="group__glibmmEnums.html#gga5d1c13a9d5c34bff7dd1e74654f282ebaf56ee9e607e115c54aaa7541ad9cb1b2">CHECKSUM_SHA256</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a218ef89e5467d6cb8b2687813b286ced">Checksum</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a1c27c48e7c6ad69617b8480b8aca4531">Checksum</a> (GChecksum* castitem, bool make_a_copy=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a4839f2e9e33ac5bdb1cf696d8ecf4a10">Checksum</a> (const <a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp; src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a830ae51f3f4cb4a024d3303f88bc6dcc">operator=</a> (const <a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp; src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a81332918818a0a29cd851e3811b1a0ef">~Checksum</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GChecksum*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a5bebbdf1ef296503c0eb86493e675cc7">gobj</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const GChecksum*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a40378be1df574c9f74fb7cc54d7b7056">gobj</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GChecksum*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a6c2600dfa5258c5db06c7525396f8bb3">gobj_copy</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. <a href="#a6c2600dfa5258c5db06c7525396f8bb3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a774f43a89f371e8c50b6ff1da56291d8">Checksum</a> (<a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a> checksum_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>, using the checksum algorithm <em>checksum_type</em>. <a href="#a774f43a89f371e8c50b6ff1da56291d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#ae817700e566bd94b9a71f358c4a4eeed">operator bool</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a> object is valid. <a href="#ae817700e566bd94b9a71f358c4a4eeed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a75343718b489251d1ea7ea417674b2b6">reset</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the state of the <em>checksum</em> back to it's initial state. <a href="#a75343718b489251d1ea7ea417674b2b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a49c961d3ecf8a4c62bd2177c2e32ac79">update</a> (const guchar* data, gsize length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Feeds <em>data</em> into an existing <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>. <a href="#a49c961d3ecf8a4c62bd2177c2e32ac79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a6fa8c44666e92d66a6af10495e2df67d">update</a> (const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>&amp; data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Feeds data into an existing <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>. <a href="#a6fa8c44666e92d66a6af10495e2df67d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a2dab438a05d0c74f25daea6c19af8f30">get_digest</a> (guint8* buffer, gsize* digest_len) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the digest from <em>checksum</em> as a raw binary vector and places it into <em>buffer</em>. <a href="#a2dab438a05d0c74f25daea6c19af8f30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a139a8bb447bb6617ffd0b3a2ef38808b">get_string</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the digest as an hexadecimal string. <a href="#a139a8bb447bb6617ffd0b3a2ef38808b"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a902b8dade7ce569804fa1819aaaa04d0">compute_checksum</a> (<a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a> type, const guchar* data, gsize length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the checksum for a binary <em>data</em> of <em>length</em>. <a href="#a902b8dade7ce569804fa1819aaaa04d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a2c6508c0d2191d0e6ce4498457763f49">compute_checksum</a> (<a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a> type, const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>&amp; str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the checksum of a string. <a href="#a2c6508c0d2191d0e6ce4498457763f49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static gssize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a2f288fe9e08a7ac4e4f81a6e1a957606">get_length</a> (<a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a> checksum_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the length in bytes of digests of type <em>checksum_type</em>. <a href="#a2f288fe9e08a7ac4e4f81a6e1a957606"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GChecksum*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#a7f5c4a8761c07e1062a8cb47d0b047b3">gobject_</a></td></tr>
<tr><td colspan="2"><h2>Related Functions</h2></td></tr>
<tr><td colspan="2"><p>(Note that these are not member functions.) </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1Checksum.html">Glib::Checksum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Checksum.html#aede26bdadd5441f327f6b36ce9a9fbf1">wrap</a> (GChecksum* object, bool take_copy=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#aede26bdadd5441f327f6b36ce9a9fbf1"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Computes the checksum for data. </p>
<p>This is a generic API for computing checksums (or "digests") for a sequence of arbitrary bytes, using various hashing algorithms like MD5, SHA-1 and SHA-256. Checksums are commonly used in various environments and specifications.</p>
<p>glibmm supports incremental checksums by calling <a class="el" href="classGlib_1_1Checksum.html#a49c961d3ecf8a4c62bd2177c2e32ac79" title="Feeds data into an existing Checksum.">update()</a> as long as there's data available and then using <a class="el" href="classGlib_1_1Checksum.html#a139a8bb447bb6617ffd0b3a2ef38808b" title="Gets the digest as an hexadecimal string.">get_string()</a> or <a class="el" href="classGlib_1_1Checksum.html#a2dab438a05d0c74f25daea6c19af8f30" title="Gets the digest from checksum as a raw binary vector and places it into buffer.">get_digest()</a> to compute the checksum and return it either as a string in hexadecimal form, or as a raw sequence of bytes. To compute the checksum for binary blobs and NULL-terminated strings in one go, use the static <a class="el" href="classGlib_1_1Checksum.html#a902b8dade7ce569804fa1819aaaa04d0" title="Computes the checksum for a binary data of length.">compute_checksum()</a> convenience functions().</p>
<dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000001">Since glibmm 2.16:</a></b></dt><dd></dd></dl>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a218ef89e5467d6cb8b2687813b286ced"></a><!-- doxytag: member="Glib::Checksum::Checksum" ref="a218ef89e5467d6cb8b2687813b286ced" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::Checksum </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1c27c48e7c6ad69617b8480b8aca4531"></a><!-- doxytag: member="Glib::Checksum::Checksum" ref="a1c27c48e7c6ad69617b8480b8aca4531" args="(GChecksum *castitem, bool make_a_copy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::Checksum </td>
          <td>(</td>
          <td class="paramtype">GChecksum *&#160;</td>
          <td class="paramname"> <em>castitem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>make_a_copy</em> = <code>false</code></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4839f2e9e33ac5bdb1cf696d8ecf4a10"></a><!-- doxytag: member="Glib::Checksum::Checksum" ref="a4839f2e9e33ac5bdb1cf696d8ecf4a10" args="(const Checksum &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::Checksum </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp;&#160;</td>
          <td class="paramname"> <em>src</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a81332918818a0a29cd851e3811b1a0ef"></a><!-- doxytag: member="Glib::Checksum::~Checksum" ref="a81332918818a0a29cd851e3811b1a0ef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::~Checksum </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a774f43a89f371e8c50b6ff1da56291d8"></a><!-- doxytag: member="Glib::Checksum::Checksum" ref="a774f43a89f371e8c50b6ff1da56291d8" args="(ChecksumType checksum_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::Checksum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a>&#160;</td>
          <td class="paramname"> <em>checksum_type</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>, using the checksum algorithm <em>checksum_type</em>. </p>
<p>If the checksum_type is not known, then operator bool() will return false.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&#160;</td><td>checksum type, one of defined above. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2c6508c0d2191d0e6ce4498457763f49"></a><!-- doxytag: member="Glib::Checksum::compute_checksum" ref="a2c6508c0d2191d0e6ce4498457763f49" args="(ChecksumType type, const std::string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a> Glib::Checksum::compute_checksum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a>&#160;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>str</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the checksum of a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>checksum_type</em>&#160;</td><td>A <a class="el" href="classChecksumType.html" title="CHECKSUM_MD5: Use the MD5 hashing algorithm CHECKSUM_SHA1: Use the SHA-1 hashing...">ChecksumType</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&#160;</td><td>The string to compute the checksum of. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The checksum as a hexadecimal string. </dd></dl>

</div>
</div>
<a class="anchor" id="a902b8dade7ce569804fa1819aaaa04d0"></a><!-- doxytag: member="Glib::Checksum::compute_checksum" ref="a902b8dade7ce569804fa1819aaaa04d0" args="(ChecksumType type, const guchar *data, gsize length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a> Glib::Checksum::compute_checksum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a>&#160;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const guchar *&#160;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gsize&#160;</td>
          <td class="paramname"> <em>length</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the checksum for a binary <em>data</em> of <em>length</em>. </p>
<p>This is a convenience wrapper for g_checksum_new(), g_checksum_get_string() and g_checksum_free(). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>checksum_type</em>&#160;</td><td>A <a class="el" href="classChecksumType.html" title="CHECKSUM_MD5: Use the MD5 hashing algorithm CHECKSUM_SHA1: Use the SHA-1 hashing...">ChecksumType</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&#160;</td><td>Binary blob to compute the digest of. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&#160;</td><td>Length of <em>data</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The digest of the binary data as a string in hexadecimal. The returned string should be freed with g_free() when done using it.</dd></dl>
<dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000006">Since glibmm 2.16:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a2dab438a05d0c74f25daea6c19af8f30"></a><!-- doxytag: member="Glib::Checksum::get_digest" ref="a2dab438a05d0c74f25daea6c19af8f30" args="(guint8 *buffer, gsize *digest_len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Checksum::get_digest </td>
          <td>(</td>
          <td class="paramtype">guint8 *&#160;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gsize *&#160;</td>
          <td class="paramname"> <em>digest_len</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the digest from <em>checksum</em> as a raw binary vector and places it into <em>buffer</em>. </p>
<p>The size of the digest depends on the type of checksum.</p>
<p>Once this function has been called, the <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a> is closed and can no longer be updated with g_checksum_update().</p>
<dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000004">Since glibmm 2.16:</a></b></dt><dd></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&#160;</td><td>Output buffer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>digest_len</em>&#160;</td><td>An inout parameter. The caller initializes it to the size of <em>buffer</em>. After the call it contains the length of the digest. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2f288fe9e08a7ac4e4f81a6e1a957606"></a><!-- doxytag: member="Glib::Checksum::get_length" ref="a2f288fe9e08a7ac4e4f81a6e1a957606" args="(ChecksumType checksum_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static gssize Glib::Checksum::get_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#ga5d1c13a9d5c34bff7dd1e74654f282eb">ChecksumType</a>&#160;</td>
          <td class="paramname"> <em>checksum_type</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the length in bytes of digests of type <em>checksum_type</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>checksum_type</em>&#160;</td><td>A <a class="el" href="classChecksumType.html" title="CHECKSUM_MD5: Use the MD5 hashing algorithm CHECKSUM_SHA1: Use the SHA-1 hashing...">ChecksumType</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The checksum length, or -1 if <em>checksum_type</em> is not supported. </dd></dl>

</div>
</div>
<a class="anchor" id="a139a8bb447bb6617ffd0b3a2ef38808b"></a><!-- doxytag: member="Glib::Checksum::get_string" ref="a139a8bb447bb6617ffd0b3a2ef38808b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a> Glib::Checksum::get_string </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the digest as an hexadecimal string. </p>
<p>Once this function has been called the <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a> can no longer be updated with g_checksum_update(). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The hexadecimal representation of the checksum. The returned string is owned by the checksum and should not be modified or freed.</dd></dl>
<dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000005">Since glibmm 2.16:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a40378be1df574c9f74fb7cc54d7b7056"></a><!-- doxytag: member="Glib::Checksum::gobj" ref="a40378be1df574c9f74fb7cc54d7b7056" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const GChecksum* Glib::Checksum::gobj </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5bebbdf1ef296503c0eb86493e675cc7"></a><!-- doxytag: member="Glib::Checksum::gobj" ref="a5bebbdf1ef296503c0eb86493e675cc7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GChecksum* Glib::Checksum::gobj </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6c2600dfa5258c5db06c7525396f8bb3"></a><!-- doxytag: member="Glib::Checksum::gobj_copy" ref="a6c2600dfa5258c5db06c7525396f8bb3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GChecksum* Glib::Checksum::gobj_copy </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. </p>

</div>
</div>
<a class="anchor" id="ae817700e566bd94b9a71f358c4a4eeed"></a><!-- doxytag: member="Glib::Checksum::operator bool" ref="ae817700e566bd94b9a71f358c4a4eeed" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Checksum::operator bool </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a> object is valid. </p>
<p>This will return false, for instance, if an unsupported checksum type was provided to the constructor. </p>

</div>
</div>
<a class="anchor" id="a830ae51f3f4cb4a024d3303f88bc6dcc"></a><!-- doxytag: member="Glib::Checksum::operator=" ref="a830ae51f3f4cb4a024d3303f88bc6dcc" args="(const Checksum &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp; Glib::Checksum::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1Checksum.html">Checksum</a>&amp;&#160;</td>
          <td class="paramname"> <em>src</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a75343718b489251d1ea7ea417674b2b6"></a><!-- doxytag: member="Glib::Checksum::reset" ref="a75343718b489251d1ea7ea417674b2b6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Checksum::reset </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resets the state of the <em>checksum</em> back to it's initial state. </p>
<dl class="since_2_18"><dt><b><a class="el" href="since_2_18.html#_since_2_18000001">Since glibmm 2.18:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a6fa8c44666e92d66a6af10495e2df67d"></a><!-- doxytag: member="Glib::Checksum::update" ref="a6fa8c44666e92d66a6af10495e2df67d" args="(const std::string &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Checksum::update </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Feeds data into an existing <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>. </p>
<p>The checksum must still be open, that is <a class="el" href="classGlib_1_1Checksum.html#a139a8bb447bb6617ffd0b3a2ef38808b" title="Gets the digest as an hexadecimal string.">get_string()</a> or <a class="el" href="classGlib_1_1Checksum.html#a2dab438a05d0c74f25daea6c19af8f30" title="Gets the digest from checksum as a raw binary vector and places it into buffer.">get_digest()</a> must not have been called on the checksum.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&#160;</td><td>Buffer used to compute the checksum </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a49c961d3ecf8a4c62bd2177c2e32ac79"></a><!-- doxytag: member="Glib::Checksum::update" ref="a49c961d3ecf8a4c62bd2177c2e32ac79" args="(const guchar *data, gsize length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Checksum::update </td>
          <td>(</td>
          <td class="paramtype">const guchar *&#160;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gsize&#160;</td>
          <td class="paramname"> <em>length</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Feeds <em>data</em> into an existing <a class="el" href="classGlib_1_1Checksum.html" title="Computes the checksum for data.">Checksum</a>. </p>
<p>The checksum must still be open, that is g_checksum_get_string() or g_checksum_get_digest() must not have been called on <em>checksum</em>.</p>
<dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000003">Since glibmm 2.16:</a></b></dt><dd></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&#160;</td><td>Buffer used to compute the checksum. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&#160;</td><td>Size of the buffer, or -1 if it is a null-terminated string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="aede26bdadd5441f327f6b36ce9a9fbf1"></a><!-- doxytag: member="Glib::Checksum::wrap" ref="aede26bdadd5441f327f6b36ce9a9fbf1" args="(GChecksum *object, bool take_copy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1Checksum.html">Glib::Checksum</a> wrap </td>
          <td>(</td>
          <td class="paramtype">GChecksum *&#160;</td>
          <td class="paramname"> <em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A <a class="el" href="namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&#160;</td><td>The C instance. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>take_copy</em>&#160;</td><td>False if the result should take ownership of the C instance. True if it should take a new copy or ref. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C++ instance that wraps this C instance. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a7f5c4a8761c07e1062a8cb47d0b047b3"></a><!-- doxytag: member="Glib::Checksum::gobject_" ref="a7f5c4a8761c07e1062a8cb47d0b047b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GChecksum* <a class="el" href="classGlib_1_1Checksum.html#a7f5c4a8761c07e1062a8cb47d0b047b3">Glib::Checksum::gobject_</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>glibmm/checksum.h</li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 11:07:24 2009 for glibmm by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>