<html> <head> <title>class Socket</title> <link rel="stylesheet" type="text/css" href="../../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../../index.html">Overview</a> </td> <td class="navimain"> <a href="index.html">Namespace</a> </td> <td class="navimainself"> Class </td> <td class="navimain"> <a href="../../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"> <tr> <td width="20%"><font size="-2">PUBLIC MEMBERS:</font></td> <td> <font size="-2">CLASSES</font> | <font size="-2">STRUCTS</font> | <font size="-2">UNIONS</font> | <font size="-2">ENUMS</font> | <font size="-2">TYPEDEFS</font> | <a href="#publ_ops"><font size="-2"><b>METHODS</b></font></a> | <font size="-2">STATIC METHODS</font> | <font size="-2">DATA</font> | <font size="-2">STATIC DATA</font></td> </tr> <tr> <td width="20%"><font size="-2">PROTECTED MEMBERS:</font></td> <td> <font size="-2">CLASSES</font> | <font size="-2">STRUCTS</font> | <font size="-2">UNIONS</font> | <font size="-2">ENUMS</font> | <font size="-2">TYPEDEFS</font> | <a href="#prot_ops"><font size="-2"><b>METHODS</b></font></a> | <font size="-2">STATIC METHODS</font> | <a href="#prot_vars"><font size="-2"><b>DATA</b></font></a> | <font size="-2">STATIC DATA</font></td> </tr> </table> <hr> <a href="../../names/index.html" alt="Global Namespace in C++"><font size="+1"><b>::</b></font></a> <a href="index.html" alt="namespace"><font size="+1"><b>osl</b></font></a><font size="+1"> :: </font><div class="title"><h2>class Socket</h2> </div><hr> <dl> <dt>Base Classes</dt> <dd>None.</dd> </dl> <dl> <dt>Known Derived Classes</dt> <dd><a href="c-StreamSocket.html">StreamSocket</a><br> <a href="c-AcceptorSocket.html">AcceptorSocket</a><br> <a href="c-DatagramSocket.html">DatagramSocket</a><br> </dd> </dl> <br> <table class="flag-table" border="1" cellspacing="0"> <tr> <td width="25%" class="flagname">virtual</td> <td width="25%" class="flagname">abstract</td> <td width="25%" class="flagname">interface</td> <td width="25%" class="flagname">template</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <dl> <dt>File</dt> <dd>socket_decl.hxx</dd> </dl> <hr> <dl> <dt class="subtitle"><a name="publ_"><h3>Public Members</h3> </a></dt> <dd><a name="publ_ops"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Methods</h4> </td> </tr> <tr> <td> <br> <a href="Socket/o.html#Socket-303">Socket</a>( );</td> <td width="50%"> </td> </tr> <tr> <td> <br> <a href="Socket/o.html#Socket-304">Socket</a>( const Socket & socket );</td> <td width="50%"> </td> </tr> <tr> <td> <br> <a href="Socket/o.html#Socket-305">Socket</a>( oslSocket socketHandle );</td> <td width="50%"> </td> </tr> <tr> <td> <br> <a href="Socket/o.html#Socket-306">Socket</a>( oslSocket socketHandle, __sal_NoAcquire noacquire );</td> <td width="50%"> The instance takes over the handle's ownership without acquiring the handle, but releases it within the dtor. </td> </tr> <tr> <td> <br> <a href="Socket/o.html#~Socket-307">~Socket</a>( );</td> <td width="50%"> Destructor. Releases the underlying handle </td> </tr> <tr> <td>Socket & <br> <a href="Socket/o.html#operator=-308">operator=</a>( oslSocket socketHandle );</td> <td width="50%"> Assignment operator. If socket was already created, the old one will be discarded. </td> </tr> <tr> <td>Socket & <br> <a href="Socket/o.html#operator=-309">operator=</a>( const Socket & sock );</td> <td width="50%"> Assignment operator. If socket was already created, the old one will be discarded. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#operator==-310">operator==</a>( const Socket & rSocket ) const;</td> <td width="50%"> </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#operator==-311">operator==</a>( const oslSocket socketHandle ) const;</td> <td width="50%"> </td> </tr> <tr> <td>void <br> <a href="Socket/o.html#shutdown-312">shutdown</a>( oslSocketDirection Direction = osl_Socket_DirReadWrite );</td> <td width="50%"> Closes a definite or both directions of the bidirectional stream. </td> </tr> <tr> <td>void <br> <a href="Socket/o.html#close-313">close</a>( );</td> <td width="50%"> </td> </tr> <tr> <td>void <br> <a href="Socket/o.html#getLocalAddr-314">getLocalAddr</a>( SocketAddr & Addr ) const;</td> <td width="50%"> Retrieves the address of the local interface of this socket. </td> </tr> <tr> <td>sal_Int32 <br> <a href="Socket/o.html#getLocalPort-315">getLocalPort</a>( ) const;</td> <td width="50%"> Get the local port of the socket. Usually used after bind(). </td> </tr> <tr> <td>::rtl::OUString <br> <a href="Socket/o.html#getLocalHost-316">getLocalHost</a>( ) const;</td> <td width="50%"> Get the hostname for the local interface. </td> </tr> <tr> <td>void <br> <a href="Socket/o.html#getPeerAddr-317">getPeerAddr</a>( SocketAddr & Addr ) const;</td> <td width="50%"> Retrieves the address of the remote host of this socket. </td> </tr> <tr> <td>sal_Int32 <br> <a href="Socket/o.html#getPeerPort-318">getPeerPort</a>( ) const;</td> <td width="50%"> Get the remote port of the socket. </td> </tr> <tr> <td>::rtl::OUString <br> <a href="Socket/o.html#getPeerHost-319">getPeerHost</a>( ) const;</td> <td width="50%"> Get the hostname for the remote interface. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#bind-320">bind</a>( const SocketAddr & LocalInterface );</td> <td width="50%"> Binds the socket to the specified (local) interface. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#isRecvReady-321">isRecvReady</a>( const TimeValue * pTimeout = 0 ) const;</td> <td width="50%"> Checks if read operations will block. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#isSendReady-322">isSendReady</a>( const TimeValue * pTimeout = 0 ) const;</td> <td width="50%"> Checks if send operations will block. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#isExceptionPending-323">isExceptionPending</a>( const TimeValue * pTimeout = 0 ) const;</td> <td width="50%"> Checks if a request for out-of-band data will block. </td> </tr> <tr> <td>oslSocketType <br> <a href="Socket/o.html#getType-324">getType</a>( ) const;</td> <td width="50%"> Queries the socket for its type. </td> </tr> <tr> <td>sal_Int32 <br> <a href="Socket/o.html#getOption-325">getOption</a>( oslSocketOption Option, void * pBuffer, sal_uInt32 BufferLen, oslSocketOptionLevel Level = osl_Socket_LevelSocket ) const;</td> <td width="50%"> Retrieves option-attributes associated with the socket. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#setOption-326">setOption</a>( oslSocketOption Option, void * pBuffer, sal_uInt32 BufferLen, oslSocketOptionLevel Level = osl_Socket_LevelSocket ) const;</td> <td width="50%"> Sets the sockets attributes. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#setOption-327">setOption</a>( oslSocketOption option, sal_Int32 nValue );</td> <td width="50%"> Convenience function for setting sal_Bool and sal_Int32 option values. </td> </tr> <tr> <td>sal_Int32 <br> <a href="Socket/o.html#getOption-328">getOption</a>( oslSocketOption option ) const;</td> <td width="50%"> Convenience function for retrieving sal_Bool and sal_Int32 option values. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#enableNonBlockingMode-329">enableNonBlockingMode</a>( sal_Bool bNonBlockingMode );</td> <td width="50%"> Enables/disables non-blocking mode of the socket. </td> </tr> <tr> <td>sal_Bool <br> <a href="Socket/o.html#isNonBlockingMode-330">isNonBlockingMode</a>( ) const;</td> <td width="50%"> Query blocking mode of the socket. </td> </tr> <tr> <td>void <br> <a href="Socket/o.html#clearError-331">clearError</a>( ) const;</td> <td width="50%"> clears the error status </td> </tr> <tr> <td>oslSocketError <br> <a href="Socket/o.html#getError-332">getError</a>( ) const;</td> <td width="50%"> returns a constant decribing the last error for the socket system. </td> </tr> <tr> <td>::rtl::OUString <br> <a href="Socket/o.html#getErrorAsString-333">getErrorAsString</a>( ) const;</td> <td width="50%"> Builds a string with the last error-message for the socket. </td> </tr> <tr> <td>oslSocket <br> <a href="Socket/o.html#getHandle-334">getHandle</a>( ) const;</td> <td width="50%"> Returns the underlying handle unacquired (The caller must acquire it to keep it). </td> </tr> </table> <hr> </dd> </dl> <dl> <dt class="subtitle"><a name="prot_"><h3>Protected Members</h3> </a></dt> <dd><a name="prot_ops"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Methods</h4> </td> </tr> <tr> <td> <br> <a href="Socket/o.html#Socket-302">Socket</a>( oslSocketType Type, oslAddrFamily Family = osl_Socket_FamilyInet, oslProtocol Protocol = osl_Socket_ProtocolIp );</td> <td width="50%"> Creates a socket. Note it's protected. </td> </tr> </table> <hr> <a name="prot_vars"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Data</h4> </td> </tr> <tr bgcolor="white"> <td><a href="../t-oslSocket.html">oslSocket</a> <a href="Socket/d.html#m_handle"><strong>m_handle;</strong></a></td> <td/></tr> </table> <hr> </dd> </dl> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-cppref" --> </body> </html>