<!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>Crypto++: WindowsPipeReceiver 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="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 List</span></a></li> <li><a href="classes.html"><span>Class Index</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> <div class="contents"> <h1>WindowsPipeReceiver Class Reference</h1><!-- doxytag: class="WindowsPipeReceiver" --><!-- doxytag: inherits="WindowsPipe,NetworkReceiver" --> <p>pipe-based implementation of <a class="el" href="class_network_receiver.html" title="Network Receiver.">NetworkReceiver</a> <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="winpipes_8h_source.html">winpipes.h</a>></code></p> <div class="dynheader"> Inheritance diagram for WindowsPipeReceiver:</div> <div class="dynsection"> <div class="center"> <img src="class_windows_pipe_receiver.gif" usemap="#WindowsPipeReceiver_map" alt=""/> <map id="WindowsPipeReceiver_map" name="WindowsPipeReceiver_map"> <area href="class_windows_pipe.html" alt="WindowsPipe" shape="rect" coords="0,56,138,80"/> <area href="class_network_receiver.html" alt="NetworkReceiver" shape="rect" coords="148,56,286,80"/> <area href="class_waitable.html" alt="Waitable" shape="rect" coords="148,0,286,24"/> <area href="class_windows_pipe_source.html" alt="WindowsPipeSource" shape="rect" coords="74,168,212,192"/> </map> </div> </div> <p><a href="class_windows_pipe_receiver-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"><a class="anchor" id="a131665b19523131ab49ce1bc1f8a5ea3"></a><!-- doxytag: member="WindowsPipeReceiver::MustWaitForResult" ref="a131665b19523131ab49ce1bc1f8a5ea3" args="()" --> bool </td><td class="memItemRight" valign="bottom"><b>MustWaitForResult</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97f6f63da2411395a55e416e0ea8b11b"></a><!-- doxytag: member="WindowsPipeReceiver::Receive" ref="a97f6f63da2411395a55e416e0ea8b11b" args="(byte *buf, size_t bufLen)" --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_windows_pipe_receiver.html#a97f6f63da2411395a55e416e0ea8b11b">Receive</a> (byte *buf, size_t bufLen)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">receive data from network source, returns whether result is immediately available <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8a50aca57f1f027fa1d52b1c8161cf5"></a><!-- doxytag: member="WindowsPipeReceiver::GetReceiveResult" ref="ac8a50aca57f1f027fa1d52b1c8161cf5" args="()" --> unsigned int </td><td class="memItemRight" valign="bottom"><b>GetReceiveResult</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a525ecf0fb656c3ab17eb5300e005ea90"></a><!-- doxytag: member="WindowsPipeReceiver::EofReceived" ref="a525ecf0fb656c3ab17eb5300e005ea90" args="() const " --> bool </td><td class="memItemRight" valign="bottom"><b>EofReceived</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e251eb6961fd6ed48aae685e3cee419"></a><!-- doxytag: member="WindowsPipeReceiver::GetMaxWaitObjectCount" ref="a9e251eb6961fd6ed48aae685e3cee419" args="() const " --> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_windows_pipe_receiver.html#a9e251eb6961fd6ed48aae685e3cee419">GetMaxWaitObjectCount</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">maximum number of wait objects that this object can return <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_windows_pipe_receiver.html#a44a3dbb7ef3161d84731c3c320eaa33a">GetWaitObjects</a> (<a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> &container, <a class="el" href="class_call_stack.html">CallStack</a> const &callStack)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">put wait objects into container <a href="#a44a3dbb7ef3161d84731c3c320eaa33a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27501ca6a36dae0cc344c57f413aea1d"></a><!-- doxytag: member="WindowsPipeReceiver::MustWaitToReceive" ref="a27501ca6a36dae0cc344c57f413aea1d" args="()" --> virtual bool </td><td class="memItemRight" valign="bottom"><b>MustWaitToReceive</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca">Wait</a> (unsigned long milliseconds, <a class="el" href="class_call_stack.html">CallStack</a> const &callStack)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">wait on this object <a href="#aded81bbe562f61932306a64e6122a6ca"></a><br/></td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa32a36960ceda3eae85284e216e0f4c0"></a><!-- doxytag: member="WindowsPipeReceiver::GetHandle" ref="aa32a36960ceda3eae85284e216e0f4c0" args="() const =0" --> virtual HANDLE </td><td class="memItemRight" valign="bottom"><b>GetHandle</b> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1df16059b04e2b291fcb14e8951be7f8"></a><!-- doxytag: member="WindowsPipeReceiver::HandleError" ref="a1df16059b04e2b291fcb14e8951be7f8" args="(const char *operation) const " --> virtual void </td><td class="memItemRight" valign="bottom"><b>HandleError</b> (const char *operation) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a288a41cb0e2e57b205fd8aad74978da8"></a><!-- doxytag: member="WindowsPipeReceiver::CheckAndHandleError" ref="a288a41cb0e2e57b205fd8aad74978da8" args="(const char *operation, BOOL result) const " --> void </td><td class="memItemRight" valign="bottom"><b>CheckAndHandleError</b> (const char *operation, BOOL result) const </td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>pipe-based implementation of <a class="el" href="class_network_receiver.html" title="Network Receiver.">NetworkReceiver</a> </p> <p>Definition at line <a class="el" href="winpipes_8h_source.html#l00061">61</a> of file <a class="el" href="winpipes_8h_source.html">winpipes.h</a>.</p> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a44a3dbb7ef3161d84731c3c320eaa33a"></a><!-- doxytag: member="WindowsPipeReceiver::GetWaitObjects" ref="a44a3dbb7ef3161d84731c3c320eaa33a" args="(WaitObjectContainer &container, CallStack const &callStack)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void WindowsPipeReceiver::GetWaitObjects </td> <td>(</td> <td class="paramtype"><a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> & </td> <td class="paramname"> <em>container</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_call_stack.html">CallStack</a> const & </td> <td class="paramname"> <em>callStack</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>put wait objects into container </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>callStack</em> </td><td>is used for tracing no wait loops, example: something.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("my func after X", 0));</p> <ul> <li>or in an outer <a class="el" href="class_windows_pipe_receiver.html#a44a3dbb7ef3161d84731c3c320eaa33a" title="put wait objects into container">GetWaitObjects()</a> method that itself takes a callStack parameter: innerThing.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("MyClass::GetWaitObjects at X", &callStack)); </li> </ul> </td></tr> </table> </dd> </dl> <p>Implements <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a">Waitable</a>.</p> <p>Definition at line <a class="el" href="winpipes_8cpp_source.html#l00118">118</a> of file <a class="el" href="winpipes_8cpp_source.html">winpipes.cpp</a>.</p> </div> </div> <a class="anchor" id="aded81bbe562f61932306a64e6122a6ca"></a><!-- doxytag: member="WindowsPipeReceiver::Wait" ref="aded81bbe562f61932306a64e6122a6ca" args="(unsigned long milliseconds, CallStack const &callStack)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Waitable::Wait </td> <td>(</td> <td class="paramtype">unsigned long </td> <td class="paramname"> <em>milliseconds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_call_stack.html">CallStack</a> const & </td> <td class="paramname"> <em>callStack</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>wait on this object </p> <p>same as creating an empty container, calling <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a" title="put wait objects into container">GetWaitObjects()</a>, and calling <a class="el" href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca" title="wait on this object">Wait()</a> on the container </p> <p>Definition at line <a class="el" href="wait_8cpp_source.html#l00388">388</a> of file <a class="el" href="wait_8cpp_source.html">wait.cpp</a>.</p> <p>References <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a">Waitable::GetWaitObjects()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="winpipes_8h_source.html">winpipes.h</a></li> <li><a class="el" href="winpipes_8cpp_source.html">winpipes.cpp</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ 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>