<!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: Gio::MemoryInputStream 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceGio.html">Gio</a>::<a class="el" href="classGio_1_1MemoryInputStream.html">MemoryInputStream</a> </div> </div> <div class="contents"> <h1>Gio::MemoryInputStream Class Reference<br/> <small> [<a class="el" href="group__Streams.html">Stream Classes</a>]</small> </h1><!-- doxytag: class="Gio::MemoryInputStream" --><!-- doxytag: inherits="Gio::InputStream,Gio::Seekable" --> <p><a class="el" href="classGio_1_1MemoryInputStream.html" title="MemoryInputStream implements InputStream for arbitrary memory chunks.">MemoryInputStream</a> implements <a class="el" href="classGio_1_1InputStream.html" title="Base class for implementing streaming input.">InputStream</a> for arbitrary memory chunks. <a href="#_details">More...</a></p> <p>Inherits <a class="el" href="classGio_1_1InputStream.html">Gio::InputStream</a>, and <a class="el" href="classGio_1_1Seekable.html">Gio::Seekable</a>.</p> <div class="dynheader"> Collaboration diagram for Gio::MemoryInputStream:</div> <div class="dynsection"> <div class="center"><img src="classGio_1_1MemoryInputStream__coll__graph.png" border="0" usemap="#Gio_1_1MemoryInputStream_coll__map" alt="Collaboration graph"/></div> <map name="Gio_1_1MemoryInputStream_coll__map" id="Gio_1_1MemoryInputStream_coll__map"> <area shape="rect" href="classGio_1_1InputStream.html" title="Base class for implementing streaming input." alt="" coords="5,237,125,267"/><area shape="rect" href="classGlib_1_1Object.html" title="Glib::Object" alt="" coords="24,160,115,189"/><area shape="rect" href="classGlib_1_1ObjectBase.html" title="Glib::ObjectBase is a common base class for Objects and Interfaces." alt="" coords="69,83,189,112"/><area shape="rect" href="classGlib_1_1Interface.html" title="Glib::Interface" alt="" coords="145,160,249,189"/><area shape="rect" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html" title="sigc::trackable" alt="" coords="76,5,183,35"/><area shape="rect" href="classGio_1_1Seekable.html" title="Stream seeking interface." alt="" coords="149,237,253,267"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classGio_1_1MemoryInputStream-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a73bc118fab39a89f4d8e8434ff951ba8">~MemoryInputStream</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">GMemoryInputStream* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a076380153e01599446bd991e0985db69">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a076380153e01599446bd991e0985db69"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GMemoryInputStream* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#af9ea44af840fc0d29d460498c8ce7d0e">gobj</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#af9ea44af840fc0d29d460498c8ce7d0e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GMemoryInputStream* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#af63cbdce2036e383cb7e77a7df83651c">gobj_copy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <a href="#af63cbdce2036e383cb7e77a7df83651c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a483a0f4811f64a0a83204e22c227bf80">add_data</a> (const <a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00971.html#a32db3d9898c44d3b3a578b560f7758cc">std::string</a>& data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appends to data that can be read from the input stream. <a href="#a483a0f4811f64a0a83204e22c227bf80"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a9700ab039b7d4654330f2786bd8786eb">add_data</a> (const void* data, gssize len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appends to data that can be read from the input stream. <a href="#a9700ab039b7d4654330f2786bd8786eb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#aa26832ff7a8bce5cc15518d5a2f0a14b">add_data</a> (const void* data, gssize len, GDestroyNotify destroy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appends to data that can be read from the input stream. <a href="#aa26832ff7a8bce5cc15518d5a2f0a14b"></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="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/> < <a class="el" href="classGio_1_1MemoryInputStream.html">MemoryInputStream</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#adb6e55009e51b59fa19dcd69617cfda1">create</a> ()</td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a3878e7ba1b947b72a8ab835e2ff24473">MemoryInputStream</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_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/> < <a class="el" href="classGio_1_1MemoryInputStream.html">Gio::MemoryInputStream</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1MemoryInputStream.html#a37bf0e5204e95253e4119ad954b3f7b9">wrap</a> (GMemoryInputStream* object, bool take_copy=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#a37bf0e5204e95253e4119ad954b3f7b9"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classGio_1_1MemoryInputStream.html" title="MemoryInputStream implements InputStream for arbitrary memory chunks.">MemoryInputStream</a> implements <a class="el" href="classGio_1_1InputStream.html" title="Base class for implementing streaming input.">InputStream</a> for arbitrary memory chunks. </p> <dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000038">Since glibmm 2.16:</a></b></dt><dd></dd></dl> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a73bc118fab39a89f4d8e8434ff951ba8"></a><!-- doxytag: member="Gio::MemoryInputStream::~MemoryInputStream" ref="a73bc118fab39a89f4d8e8434ff951ba8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gio::MemoryInputStream::~MemoryInputStream </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a3878e7ba1b947b72a8ab835e2ff24473"></a><!-- doxytag: member="Gio::MemoryInputStream::MemoryInputStream" ref="a3878e7ba1b947b72a8ab835e2ff24473" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Gio::MemoryInputStream::MemoryInputStream </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aa26832ff7a8bce5cc15518d5a2f0a14b"></a><!-- doxytag: member="Gio::MemoryInputStream::add_data" ref="aa26832ff7a8bce5cc15518d5a2f0a14b" args="(const void *data, gssize len, GDestroyNotify destroy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gio::MemoryInputStream::add_data </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">gssize </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GDestroyNotify </td> <td class="paramname"> <em>destroy</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Appends to data that can be read from the input stream. </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> </td><td>Input data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Length of the data, may be -1 if data is a null-terminated string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>destroy</em> </td><td>A function to be called to free the data when it is no longer needed</td></tr> </table> </dd> </dl> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Use version with destroy notification </dd></dl> </div> </div> <a class="anchor" id="a9700ab039b7d4654330f2786bd8786eb"></a><!-- doxytag: member="Gio::MemoryInputStream::add_data" ref="a9700ab039b7d4654330f2786bd8786eb" args="(const void *data, gssize len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gio::MemoryInputStream::add_data </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">gssize </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Appends to data that can be read from the input stream. </p> <p>Note that the data will copied internally and freed when no longer needed.</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> </td><td>Input data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Length of the data, may be -1 if data is a null-terminated string. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a483a0f4811f64a0a83204e22c227bf80"></a><!-- doxytag: member="Gio::MemoryInputStream::add_data" ref="a483a0f4811f64a0a83204e22c227bf80" args="(const std::string &data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gio::MemoryInputStream::add_data </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> & </td> <td class="paramname"> <em>data</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Appends to data that can be read from the input stream. </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> </td><td>Input data. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="adb6e55009e51b59fa19dcd69617cfda1"></a><!-- doxytag: member="Gio::MemoryInputStream::create" ref="adb6e55009e51b59fa19dcd69617cfda1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGio_1_1MemoryInputStream.html">MemoryInputStream</a>> Gio::MemoryInputStream::create </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="af9ea44af840fc0d29d460498c8ce7d0e"></a><!-- doxytag: member="Gio::MemoryInputStream::gobj" ref="af9ea44af840fc0d29d460498c8ce7d0e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GMemoryInputStream* Gio::MemoryInputStream::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="el" href="classGio_1_1InputStream.html#a1b0ef82ab81b3ded607584c7029fe1e9">Gio::InputStream</a>.</p> </div> </div> <a class="anchor" id="a076380153e01599446bd991e0985db69"></a><!-- doxytag: member="Gio::MemoryInputStream::gobj" ref="a076380153e01599446bd991e0985db69" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GMemoryInputStream* Gio::MemoryInputStream::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="el" href="classGio_1_1InputStream.html#a2ed1120b3d03a12086e7f0ed3946aba1">Gio::InputStream</a>.</p> </div> </div> <a class="anchor" id="af63cbdce2036e383cb7e77a7df83651c"></a><!-- doxytag: member="Gio::MemoryInputStream::gobj_copy" ref="af63cbdce2036e383cb7e77a7df83651c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GMemoryInputStream* Gio::MemoryInputStream::gobj_copy </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. </p> <p>Reimplemented from <a class="el" href="classGio_1_1InputStream.html#a28a9394b07e9183c0c79798ea344c65c">Gio::InputStream</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a37bf0e5204e95253e4119ad954b3f7b9"></a><!-- doxytag: member="Gio::MemoryInputStream::wrap" ref="a37bf0e5204e95253e4119ad954b3f7b9" args="(GMemoryInputStream *object, bool take_copy=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1MemoryInputStream.html">Gio::MemoryInputStream</a> > wrap </td> <td>(</td> <td class="paramtype">GMemoryInputStream * </td> <td class="paramname"> <em>object</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td> </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> </td><td>The C instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>take_copy</em> </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/>The documentation for this class was generated from the following file:<ul> <li>giomm/memoryinputstream.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 11:07:23 2009 for glibmm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>