Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 1f9eb832ba1e4b88d9a5c2b384813bb4 > files > 1926

kdelibs3-apidocs-3.5.10-31.fc15.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!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" lang="en_US" xml:lang="en_US">

<head>
  <title>kdecore: KNetwork::KSocketBase Class Reference (kdecore)</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <meta http-equiv="Content-Style-Type" content="text/css" />

  <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org"  r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org"  r (n 0 s 0 v 0 l 0))' />

  <meta name="trademark" content="KDE e.V." />
  <meta name="description" content="K Desktop Environment Homepage, KDE.org" />
  <meta name="MSSmartTagsPreventParsing" content="true" />
  <meta name="robots" content="all" />

  <link rel="shortcut icon" href="../../favicon.ico" />

<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" />



</head>

<body>

<div id="nav_header_top" align="right">
  <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a>

  <a href="../.."><img id="nav_header_logo" alt="Home" align="left" src="../../kde_gear_64.png" border="0" /></a>
  <span class="doNotDisplay">::</span>

  <div id="nav_header_title" align="left">KDE API Reference</div>


</div>

<div id="nav_header_bottom" align="right">
  <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span>
  <div id="nav_header_bottom_right" style="text-align: left;">
/ <a href="../..">API Reference</a>
 / <a href=".">kdecore</a>
  </div>
</div>


<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
      <td valign="top" class="menuheader" height="0"></td>

  <td id="contentcolumn" valign="top" rowspan="2" >
    <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;">
    <a name="content"></a>


<!-- Generated by Doxygen 1.7.4 -->
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceKNetwork.html">KNetwork</a>      </li>
      <li class="navelem"><a class="el" href="classKNetwork_1_1KSocketBase.html">KSocketBase</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">KNetwork::KSocketBase Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="KNetwork::KSocketBase" -->
<p>Basic socket functionality.  
 <a href="classKNetwork_1_1KSocketBase.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for KNetwork::KSocketBase:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classKNetwork_1_1KSocketBase.png" usemap="#KNetwork::KSocketBase_map" alt=""/>
  <map id="KNetwork::KSocketBase_map" name="KNetwork::KSocketBase_map">
<area href="classKNetwork_1_1KActiveSocketBase.html" title="Abstract class for active sockets." alt="KNetwork::KActiveSocketBase" shape="rect" coords="223,56,436,80"/>
<area href="classKNetwork_1_1KPassiveSocketBase.html" title="Abstract base class for passive sockets." alt="KNetwork::KPassiveSocketBase" shape="rect" coords="780,56,993,80"/>
<area href="classKNetwork_1_1KClientSocketBase.html" title="Abstract client socket class." alt="KNetwork::KClientSocketBase" shape="rect" coords="0,112,213,136"/>
<area href="classKNetwork_1_1KSocketDevice.html" title="Low-level socket functionality." alt="KNetwork::KSocketDevice" shape="rect" coords="446,112,659,136"/>
<area href="classKNetwork_1_1KServerSocket.html" title="A server socket for accepting connections." alt="KNetwork::KServerSocket" shape="rect" coords="669,112,882,136"/>
<area href="classKNetwork_1_1KSocketDevice.html" title="Low-level socket functionality." alt="KNetwork::KSocketDevice" shape="rect" coords="892,112,1105,136"/>
<area href="classKNetwork_1_1KDatagramSocket.html" title="A socket that operates on datagrams." alt="KNetwork::KDatagramSocket" shape="rect" coords="223,168,436,192"/>
<area href="classKNetwork_1_1KStreamSocket.html" title="Simple stream socket." alt="KNetwork::KStreamSocket" shape="rect" coords="223,224,436,248"/>
<area href="classKNetwork_1_1KHttpProxySocketDevice.html" title="The low-level backend for HTTP proxying." alt="KNetwork::KHttpProxySocketDevice" shape="rect" coords="669,168,882,192"/>
<area href="classKNetwork_1_1KMulticastSocketImpl.html" title="The low-level backend for multicasting sockets." alt="KNetwork::KMulticastSocketImpl" shape="rect" coords="669,224,882,248"/>
<area href="classKNetwork_1_1KSocksSocketDevice.html" title="The low-level class for SOCKS proxying." alt="KNetwork::KSocksSocketDevice" shape="rect" coords="669,280,882,304"/>
<area href="classKNetwork_1_1KHttpProxySocketDevice.html" title="The low-level backend for HTTP proxying." alt="KNetwork::KHttpProxySocketDevice" shape="rect" coords="1115,168,1328,192"/>
<area href="classKNetwork_1_1KMulticastSocketImpl.html" title="The low-level backend for multicasting sockets." alt="KNetwork::KMulticastSocketImpl" shape="rect" coords="1115,224,1328,248"/>
<area href="classKNetwork_1_1KSocksSocketDevice.html" title="The low-level class for SOCKS proxying." alt="KNetwork::KSocksSocketDevice" shape="rect" coords="1115,280,1328,304"/>
</map>
 </div></div>

<p><a href="classKNetwork_1_1KSocketBase-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
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="classKNetwork_1_1KSocketBase.html#a91b127c5113ce0a062374ccb186837b0">SocketOptions</a> { <br/>
&#160;&#160;<b>Blocking</b> =  0x01, 
<b>AddressReuseable</b> =  0x02, 
<b>IPv6Only</b> =  0x04, 
<b>Keepalive</b> =  0x08, 
<br/>
&#160;&#160;<b>Broadcast</b> =  0x10
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">SocketError</a> { <br/>
&#160;&#160;<b>NoError</b> =  0, 
<b>LookupFailure</b>, 
<b>AddressInUse</b>, 
<b>AlreadyCreated</b>, 
<br/>
&#160;&#160;<b>AlreadyBound</b>, 
<b>AlreadyConnected</b>, 
<b>NotConnected</b>, 
<b>NotBound</b>, 
<br/>
&#160;&#160;<b>NotCreated</b>, 
<b>WouldBlock</b>, 
<b>ConnectionRefused</b>, 
<b>ConnectionTimedOut</b>, 
<br/>
&#160;&#160;<b>InProgress</b>, 
<b>NetFailure</b>, 
<b>NotSupported</b>, 
<b>Timeout</b>, 
<br/>
&#160;&#160;<b>UnknownError</b>, 
<b>RemotelyDisconnected</b>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
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="classKNetwork_1_1KSocketBase.html#a7381efc9392706e334e5cfa6b00cf205">KSocketBase</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a7ad3e4ce87704a782fc3eaaa6f0b47cb">~KSocketBase</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#aac9c41c3393c6814c1b6da223dae48fc">setBlocking</a> (bool enable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a109a7e8b7d5fccbf5720bd5dbb6cfd5a">blocking</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#aaf3d04df1341121b78b5e61b8abd6ef6">setAddressReuseable</a> (bool enable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a782829b8f553be0aaaf828ce9ba48745">addressReuseable</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a74ad20b513fd41e01bb479772ce0834f">setIPv6Only</a> (bool enable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#aad20e2cd6892e51668b202e6f66b72a7">isIPv6Only</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a4d937c9026223491ceee8cddf6e44b24">setBroadcast</a> (bool enable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a399bbd2484b3bf8ba5c4101157608bb1">broadcast</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKNetwork_1_1KSocketDevice.html">KSocketDevice</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a6ba9d5dd5ec196e72d7593dd5e8bebf1">socketDevice</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a6c9bbf5f9d40f30448b27fda328f0432">setSocketDevice</a> (<a class="el" href="classKNetwork_1_1KSocketDevice.html">KSocketDevice</a> *device)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a40c4d988668f95355000e6bf0f3b6445">setRequestedCapabilities</a> (int add, int remove=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">SocketError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a73fc210cade45f2e9e9aa3890b08b729">error</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qstring.html">QString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#af36bc7073e57d6b1626292cff0cb350e">errorString</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qmutex.html">QMutex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a9c4e435feaad42f907be91821c79e1e2">mutex</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="qstring.html">QString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a335ca3cec3a4916bc8dc30104a833a37">errorString</a> (<a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">SocketError</a> code)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a2ad14bacbd62e5bde48ebe303bdcc518">isFatalError</a> (int code)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a5493881f4db852e731d296056f14991e">setSocketOptions</a> (int opts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#a89a7dd92cda44cd38d6b86c8e98b6ee5">socketOptions</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#acb3111b692367e95745b80ac20a7f014">hasDevice</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKNetwork_1_1KSocketBase.html#af3d4ebcb2af88aaa42a6299cd27c19a5">setError</a> (<a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">SocketError</a> error)</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a786cb346695d2f8efeae55ae4cef4382"></a><!-- doxytag: member="KNetwork::KSocketBase::KSocketDevice" ref="a786cb346695d2f8efeae55ae4cef4382" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>KSocketDevice</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Basic socket functionality. </p>
<p>This class provides the basic socket functionlity for descended classes. Socket classes are thread-safe and provide a recursive mutex should it be needed.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This class is abstract.</dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Thiago Macieira &lt;<a href="mailto:thiago.macieira@kdemail.net">thiago.macieira@kdemail.net</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8h_source.html#l00097">97</a> of file <a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a>.</p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a983f608943115b037482f9647f7fb661"></a><!-- doxytag: member="KNetwork::KSocketBase::SocketError" ref="a983f608943115b037482f9647f7fb661" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">KNetwork::KSocketBase::SocketError</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible socket error codes. </p>
<p>This is a list of possible error conditions that socket classes may be expected to find.</p>
<ul>
<li>NoError: no error has been detected</li>
<li>LookupFailure: if a name lookup has failed</li>
<li>AddressInUse: address is already in use</li>
<li>AlreadyBound: cannot bind again</li>
<li>AlreadyCreated: cannot recreate the socket</li>
<li>NotBound: operation required socket to be bound and it isn't</li>
<li>NotCreated: operation required socket to exist and it doesn't</li>
<li>WouldBlock: requested I/O operation would block</li>
<li>ConnectionRefused: connection actively refused</li>
<li>ConnectionTimedOut: connection timed out</li>
<li>InProgress: operation (connection) is already in progress</li>
<li>NetFailure: a network failure occurred (no route, host down, host unreachable or similar)</li>
<li>NotSupported: requested operation is not supported</li>
<li>Timeout: a timed operation timed out</li>
<li>UnknownError: an unknown/unexpected error has happened</li>
<li>RemotelyDisconnected: when a connection is disconnected by the other end (since 3.4)</li>
</ul>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classKNetwork_1_1KSocketBase.html#a73fc210cade45f2e9e9aa3890b08b729" title="Retrieves the socket error code.">error</a>, <a class="el" href="classKNetwork_1_1KSocketBase.html#af36bc7073e57d6b1626292cff0cb350e" title="Returns the error string corresponding to this error condition.">errorString</a> </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8h_source.html#l00152">152</a> of file <a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a>.</p>

</div>
</div>
<a class="anchor" id="a91b127c5113ce0a062374ccb186837b0"></a><!-- doxytag: member="KNetwork::KSocketBase::SocketOptions" ref="a91b127c5113ce0a062374ccb186837b0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKNetwork_1_1KSocketBase.html#a91b127c5113ce0a062374ccb186837b0">KNetwork::KSocketBase::SocketOptions</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible socket options. </p>
<p>These are the options that may be set on a socket:</p>
<ul>
<li>Blocking: whether the socket shall operate in blocking or non-blocking mode. This flag defaults to on. See <a class="el" href="classKNetwork_1_1KSocketBase.html#aac9c41c3393c6814c1b6da223dae48fc">setBlocking</a>.</li>
<li>AddressReusable: whether the address used by this socket will be available for reuse by other sockets. This flag defaults to off. See <a class="el" href="classKNetwork_1_1KSocketBase.html#aaf3d04df1341121b78b5e61b8abd6ef6">setAddressReuseable</a>.</li>
<li>IPv6Only: whether an IPv6 socket will accept IPv4 connections through a mapped address. This flag defaults to off. See <a class="el" href="classKNetwork_1_1KSocketBase.html#a74ad20b513fd41e01bb479772ce0834f">setIPv6Only</a>.</li>
<li>KeepAlive: whether TCP should send keepalive probes when a connection has gone idle for far too long.</li>
<li>Broadcast: whether this socket is allowed to send broadcast packets and will receive packets sent to broadcast. </li>
</ul>

<p>Definition at line <a class="el" href="ksocketbase_8h_source.html#l00118">118</a> of file <a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7381efc9392706e334e5cfa6b00cf205"></a><!-- doxytag: member="KNetwork::KSocketBase::KSocketBase" ref="a7381efc9392706e334e5cfa6b00cf205" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KSocketBase::KSocketBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00050">50</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a7ad3e4ce87704a782fc3eaaa6f0b47cb"></a><!-- doxytag: member="KNetwork::KSocketBase::~KSocketBase" ref="a7ad3e4ce87704a782fc3eaaa6f0b47cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KSocketBase::~KSocketBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00059">59</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a782829b8f553be0aaaf828ce9ba48745"></a><!-- doxytag: member="KNetwork::KSocketBase::addressReuseable" ref="a782829b8f553be0aaaf828ce9ba48745" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::addressReuseable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves this socket's address reuseability flag. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this socket's address can be reused, false if it can't. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00091">91</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a109a7e8b7d5fccbf5720bd5dbb6cfd5a"></a><!-- doxytag: member="KNetwork::KSocketBase::blocking" ref="a109a7e8b7d5fccbf5720bd5dbb6cfd5a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::blocking </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves this socket's blocking mode. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this socket is/will be operated in blocking mode, false if non-blocking. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00081">81</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a399bbd2484b3bf8ba5c4101157608bb1"></a><!-- doxytag: member="KNetwork::KSocketBase::broadcast" ref="a399bbd2484b3bf8ba5c4101157608bb1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::broadcast </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves this socket's Broadcast flag. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this socket can send and receive broadcast packets, false if it can't. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00111">111</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a73fc210cade45f2e9e9aa3890b08b729"></a><!-- doxytag: member="KNetwork::KSocketBase::error" ref="a73fc210cade45f2e9e9aa3890b08b729" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">KSocketBase::SocketError</a> KSocketBase::error </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves the socket error code. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classKNetwork_1_1KSocketBase.html#af36bc7073e57d6b1626292cff0cb350e" title="Returns the error string corresponding to this error condition.">errorString</a> </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00160">160</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="af36bc7073e57d6b1626292cff0cb350e"></a><!-- doxytag: member="KNetwork::KSocketBase::errorString" ref="af36bc7073e57d6b1626292cff0cb350e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qstring.html">QString</a> KNetwork::KSocketBase::errorString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the error string corresponding to this error condition. </p>

<p>Definition at line <a class="el" href="ksocketbase_8h_source.html#l00383">383</a> of file <a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a>.</p>

</div>
</div>
<a class="anchor" id="a335ca3cec3a4916bc8dc30104a833a37"></a><!-- doxytag: member="KNetwork::KSocketBase::errorString" ref="a335ca3cec3a4916bc8dc30104a833a37" args="(SocketError code)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qstring.html">QString</a> KSocketBase::errorString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">KSocketBase::SocketError</a>&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the string describing the given error code, i18n'ed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">code</td><td>the error code </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00166">166</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="acb3111b692367e95745b80ac20a7f014"></a><!-- doxytag: member="KNetwork::KSocketBase::hasDevice" ref="acb3111b692367e95745b80ac20a7f014" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::hasDevice </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the socket device has been initialised in this object, either by calling <a class="el" href="classKNetwork_1_1KSocketBase.html#a6ba9d5dd5ec196e72d7593dd5e8bebf1">socketDevice()</a> or <a class="el" href="classKNetwork_1_1KSocketBase.html#a6c9bbf5f9d40f30448b27fda328f0432">setSocketDevice</a>. </p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00150">150</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2ad14bacbd62e5bde48ebe303bdcc518"></a><!-- doxytag: member="KNetwork::KSocketBase::isFatalError" ref="a2ad14bacbd62e5bde48ebe303bdcc518" args="(int code)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::isFatalError </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the given error code is a fatal one, false otherwise. </p>
<p>The parameter here is of type int so that casting isn't necessary when using the parameter to signal QClientSocketBase::gotError.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">code</td><td>the code to test </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00259">259</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aad20e2cd6892e51668b202e6f66b72a7"></a><!-- doxytag: member="KNetwork::KSocketBase::isIPv6Only" ref="aad20e2cd6892e51668b202e6f66b72a7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::isIPv6Only </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves this socket's IPv6 Only flag. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this socket will ignore IPv4-compatible and IPv4-mapped addresses, false if it will accept them. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00101">101</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a9c4e435feaad42f907be91821c79e1e2"></a><!-- doxytag: member="KNetwork::KSocketBase::mutex" ref="a9c4e435feaad42f907be91821c79e1e2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qmutex.html">QMutex</a> * KSocketBase::mutex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the internal mutex for this class. </p>
<p>Note on multithreaded use of sockets: the socket classes are thread-safe by design, but you should be aware of problems regarding socket creation, connection and destruction in multi-threaded programs. The classes are guaranteed to work while the socket exists, but it's not wise to call connect in multiple threads.</p>
<p>Also, this mutex must be unlocked before the object is destroyed, which means you cannot use it to guard against other threads accessing the object while destroying it. You must ensure there are no further references to this object when deleting it. </p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00278">278</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aaf3d04df1341121b78b5e61b8abd6ef6"></a><!-- doxytag: member="KNetwork::KSocketBase::setAddressReuseable" ref="aaf3d04df1341121b78b5e61b8abd6ef6" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::setAddressReuseable </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets this socket's address reuseable flag. </p>
<p>When the address reuseable flag is active, the address used by this socket is left reuseable for other sockets to bind. If the flag is not active, no other sockets may reuse the same address.</p>
<p>The default implementation toggles the AddressReuseable flag with the current socket options and calls <a class="el" href="classKNetwork_1_1KSocketBase.html#a5493881f4db852e731d296056f14991e">setSocketOptions</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>whether to set the flag on or off </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if setting this flag was successful </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00086">86</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aac9c41c3393c6814c1b6da223dae48fc"></a><!-- doxytag: member="KNetwork::KSocketBase::setBlocking" ref="aac9c41c3393c6814c1b6da223dae48fc" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::setBlocking </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets this socket's blocking mode. </p>
<p>In blocking operation, all I/O functions are susceptible to blocking -- i.e., will not return unless the I/O can be satisfied. In non-blocking operation, if the I/O would block, the function will return an error and set the corresponding error code.</p>
<p>The default implementation toggles the Blocking flag with the current socket options and calls <a class="el" href="classKNetwork_1_1KSocketBase.html#a5493881f4db852e731d296056f14991e">setSocketOptions</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>whether to set this socket to blocking mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>whether setting this value was successful; it is NOT the final blocking mode. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00076">76</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4d937c9026223491ceee8cddf6e44b24"></a><!-- doxytag: member="KNetwork::KSocketBase::setBroadcast" ref="a4d937c9026223491ceee8cddf6e44b24" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::setBroadcast </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets this socket Broadcast flag. </p>
<p>Datagram-oriented sockets cannot normally send packets to broadcast addresses, nor will they receive packets that were sent to a broadcast address. To do so, you need to enable the Broadcast flag.</p>
<p>This option has no effect on stream-oriented sockets.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if setting this flag was successful. </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00106">106</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="af3d4ebcb2af88aaa42a6299cd27c19a5"></a><!-- doxytag: member="KNetwork::KSocketBase::setError" ref="af3d4ebcb2af88aaa42a6299cd27c19a5" args="(SocketError error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KSocketBase::setError </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKNetwork_1_1KSocketBase.html#a983f608943115b037482f9647f7fb661">SocketError</a>&#160;</td>
          <td class="paramname"><em>error</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the socket's error code. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">error</td><td>the error code </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00155">155</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a74ad20b513fd41e01bb479772ce0834f"></a><!-- doxytag: member="KNetwork::KSocketBase::setIPv6Only" ref="a74ad20b513fd41e01bb479772ce0834f" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::setIPv6Only </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets this socket's IPv6 Only flag. </p>
<p>When this flag is on, an IPv6 socket will only accept, connect, send to or receive from IPv6 addresses. When it is off, it will also talk to IPv4 addresses through v4-mapped addresses.</p>
<p>This option has no effect on non-IPv6 sockets.</p>
<p>The default implementation toggles the IPv6Only flag with the current socket options and calls <a class="el" href="classKNetwork_1_1KSocketBase.html#a5493881f4db852e731d296056f14991e">setSocketOptions</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>whether to set the flag on or off </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if setting this flag was successful </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00096">96</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a40c4d988668f95355000e6bf0f3b6445"></a><!-- doxytag: member="KNetwork::KSocketBase::setRequestedCapabilities" ref="a40c4d988668f95355000e6bf0f3b6445" args="(int add, int remove=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KSocketBase::setRequestedCapabilities </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>remove</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the internally requested capabilities for a socket device. </p>
<p>Most socket classes can use any back-end implementation. However, a few may require specific capabilities not provided in the default implementation. By using this function, derived classes can request that a backend with those capabilities be created when necessary.</p>
<p>For the possible flags, see <a class="el" href="classKNetwork_1_1KSocketDevice.html#a588a274f23e85216b1c578e536f7e8d8">KSocketDevice::Capabilities</a>. However, note that only the Can* flags make sense in this context.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Since socketDevice must always return a valid backend object, it is is possible that the created device does not conform to all requirements requested. Implementations sensitive to this fact should test the object returned by <a class="el" href="classKNetwork_1_1KSocketBase.html#a6ba9d5dd5ec196e72d7593dd5e8bebf1">socketDevice</a> (through <a class="el" href="classKNetwork_1_1KSocketDevice.html#aabb9639e2040cca4cc879743f6eb5214">KSocketDevice::capabilities</a>, for instance) the availability.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">add</td><td>mask of <a class="el" href="classKNetwork_1_1KSocketDevice.html#a588a274f23e85216b1c578e536f7e8d8">KSocketDevice::Capabilities</a> to add </td></tr>
    <tr><td class="paramname">remove</td><td>mask of bits to remove from the requirements </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the current mask of requested capabilities </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00143">143</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6c9bbf5f9d40f30448b27fda328f0432"></a><!-- doxytag: member="KNetwork::KSocketBase::setSocketDevice" ref="a6c9bbf5f9d40f30448b27fda328f0432" args="(KSocketDevice *device)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KSocketBase::setSocketDevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKNetwork_1_1KSocketDevice.html">KSocketDevice</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the socket implementation to be used on this socket. </p>
<p>Note: it is an error to set this if the socket device has already been set once.</p>
<p>This function is provided virtual so that derived classes can catch the setting of a device and properly set their own states and internal variables. The parent class must be called.</p>
<p>This function is called by <a class="el" href="classKNetwork_1_1KSocketBase.html#a6ba9d5dd5ec196e72d7593dd5e8bebf1">socketDevice</a> above when the socket is first created. </p>

<p>Reimplemented in <a class="el" href="classKNetwork_1_1KBufferedSocket.html#a19593a26a264ba67eb5068f9b4e8a6b3">KNetwork::KBufferedSocket</a>.</p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00136">136</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a5493881f4db852e731d296056f14991e"></a><!-- doxytag: member="KNetwork::KSocketBase::setSocketOptions" ref="a5493881f4db852e731d296056f14991e" args="(int opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KSocketBase::setSocketOptions </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opts</em></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the given socket options. </p>
<p>The default implementation does nothing but store the mask internally. Descended classes must override this function to achieve functionality and must also call this implementation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">opts</td><td>a mask of <a class="el" href="classKNetwork_1_1KSocketBase.html#a91b127c5113ce0a062374ccb186837b0">SocketOptions</a> or-ed bits of options to set or unset </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>this function sets the options corresponding to the bits enabled in <code>opts</code> but will also unset the optiosn corresponding to the bits not set. </dd></dl>

<p>Reimplemented in <a class="el" href="classKNetwork_1_1KBufferedSocket.html#ad558024f694a7eae2227edc684c28539">KNetwork::KBufferedSocket</a>, <a class="el" href="classKNetwork_1_1KClientSocketBase.html#ae669feb66f3cda67615a1ead4cc08426">KNetwork::KClientSocketBase</a>, <a class="el" href="classKNetwork_1_1KServerSocket.html#ae4e841512f125feb9dc72fd581ceb8c3">KNetwork::KServerSocket</a>, and <a class="el" href="classKNetwork_1_1KSocketDevice.html#a1d44eb54de71fcd65b8865f52cbb65d7">KNetwork::KSocketDevice</a>.</p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00065">65</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6ba9d5dd5ec196e72d7593dd5e8bebf1"></a><!-- doxytag: member="KNetwork::KSocketBase::socketDevice" ref="a6ba9d5dd5ec196e72d7593dd5e8bebf1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKNetwork_1_1KSocketDevice.html">KSocketDevice</a> * KSocketBase::socketDevice </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves the socket implementation used on this socket. </p>
<p>This function creates the device if none has been set using the default factory. </p>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00116">116</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a89a7dd92cda44cd38d6b86c8e98b6ee5"></a><!-- doxytag: member="KNetwork::KSocketBase::socketOptions" ref="a89a7dd92cda44cd38d6b86c8e98b6ee5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KSocketBase::socketOptions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves the socket options that have been set. </p>
<p>The default implementation just retrieves the mask from an internal variable. Descended classes may choose to override this function to read the values from the operating system.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the mask of the options set </dd></dl>

<p>Definition at line <a class="el" href="ksocketbase_8cpp_source.html#l00071">71</a> of file <a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ksocketbase_8h_source.html">ksocketbase.h</a></li>
<li><a class="el" href="ksocketbase_8cpp_source.html">ksocketbase.cpp</a></li>
</ul>
</div>
    </div></div>


      </td>
  </tr>
  <tr>
    <td valign="top" id="leftmenu" width="25%">
      <a name="navigation"></a>
      <div class="menu_box"><h2>kdecore</h2>
<div class="nav_list">
<ul><li><a href="index.html">Main Page</a></li><li><a href="modules.html">Modules</a></li><li><a href="namespaces.html">Namespace List</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="namespacemembers.html">Namespace Members</a></li><li><a href="functions.html">Class Members</a></li><li><a href="pages.html">Related Pages</a></li></ul>
<!--
<h2>Class Picker</h2>
<div style="text-align: center;">
<form name="guideform">
<select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value">
<option value="annotated.html">-- Choose --</option>
  <option value="classKAboutData.html">kaboutdata</option>,  <option value="classKAboutPerson.html">kaboutperson</option>,  <option value="classKAboutTranslator.html">kabouttranslator</option>,  <option value="classKAccel.html">kaccel</option>,  <option value="classKAcceleratorManager.html">kacceleratormanager</option>,  <option value="classKAccelManagerAlgorithm.html">kaccelmanageralgorithm</option>,  <option value="classKAccelShortcutList.html">kaccelshortcutlist</option>,  <option value="classKAccelString.html">kaccelstring</option>,  <option value="classKAddressInfo.html">kaddressinfo</option>,  <option value="classKAppDCOPInterface.html">kappdcopinterface</option>,  <option value="classKApplication.html">kapplication</option>,  <option value="classKAsyncIO.html">kasyncio</option>,  <option value="classKAudioPlayer.html">kaudioplayer</option>,  <option value="classKBufferedIO.html">kbufferedio</option>,  <option value="classKCalendarSystem.html">kcalendarsystem</option>,  <option value="classKCalendarSystemFactory.html">kcalendarsystemfactory</option>,  <option value="classKCalendarSystemJalali.html">kcalendarsystemjalali</option>,  <option value="classKCatalogue.html">kcatalogue</option>,  <option value="classKCharMacroExpander.html">kcharmacroexpander</option>,  <option value="classKCharsets.html">kcharsets</option>,  <option value="classKClipboardSynchronizer.html">kclipboardsynchronizer</option>,  <option value="classKCmdLineArgs.html">kcmdlineargs</option>,  <option value="classKCodecs.html">kcodecs</option>,  <option value="classKCompletion.html">kcompletion</option>,  <option value="classKCompletionBase.html">kcompletionbase</option>,  <option value="classKCompletionMatches.html">kcompletionmatches</option>,  <option value="classKCompTreeNode.html">kcomptreenode</option>,  <option value="classKConfig.html">kconfig</option>,  <option value="classKConfigBackEnd.html">kconfigbackend</option>,  <option value="classKConfigBase.html">kconfigbase</option>,  <option value="classKConfigDialogManager.html">kconfigdialogmanager</option>,  <option value="classKConfigGroup.html">kconfiggroup</option>,  <option value="classKConfigGroupSaver.html">kconfiggroupsaver</option>,  <option value="classKConfigINIBackEnd.html">kconfiginibackend</option>,  <option value="classKConfigSkeleton.html">kconfigskeleton</option>,  <option value="classKConfigSkeleton_1_1ItemBool.html">kconfigskeleton::itembool</option>,  <option value="classKConfigSkeleton_1_1ItemColor.html">kconfigskeleton::itemcolor</option>,  <option value="classKConfigSkeleton_1_1ItemDateTime.html">kconfigskeleton::itemdatetime</option>,  <option value="classKConfigSkeleton_1_1ItemDouble.html">kconfigskeleton::itemdouble</option>,  <option value="classKConfigSkeleton_1_1ItemEnum.html">kconfigskeleton::itemenum</option>,  <option value="classKConfigSkeleton_1_1ItemFont.html">kconfigskeleton::itemfont</option>,  <option value="classKConfigSkeleton_1_1ItemInt.html">kconfigskeleton::itemint</option>,  <option value="classKConfigSkeleton_1_1ItemInt64.html">kconfigskeleton::itemint64</option>,  <option value="classKConfigSkeleton_1_1ItemIntList.html">kconfigskeleton::itemintlist</option>,  <option value="classKConfigSkeleton_1_1ItemLong.html">kconfigskeleton::itemlong</option>,  <option value="classKConfigSkeleton_1_1ItemPassword.html">kconfigskeleton::itempassword</option>,  <option value="classKConfigSkeleton_1_1ItemPath.html">kconfigskeleton::itempath</option>,  <option value="classKConfigSkeleton_1_1ItemPathList.html">kconfigskeleton::itempathlist</option>,  <option value="classKConfigSkeleton_1_1ItemPoint.html">kconfigskeleton::itempoint</option>,  <option value="classKConfigSkeleton_1_1ItemProperty.html">kconfigskeleton::itemproperty</option>,  <option value="classKConfigSkeleton_1_1ItemRect.html">kconfigskeleton::itemrect</option>,  <option value="classKConfigSkeleton_1_1ItemSize.html">kconfigskeleton::itemsize</option>,  <option value="classKConfigSkeleton_1_1ItemString.html">kconfigskeleton::itemstring</option>,  <option value="classKConfigSkeleton_1_1ItemStringList.html">kconfigskeleton::itemstringlist</option>,  <option value="classKConfigSkeleton_1_1ItemUInt.html">kconfigskeleton::itemuint</option>,  <option value="classKConfigSkeleton_1_1ItemUInt64.html">kconfigskeleton::itemuint64</option>,  <option value="classKConfigSkeleton_1_1ItemULong.html">kconfigskeleton::itemulong</option>,  <option value="classKConfigSkeletonItem.html">kconfigskeletonitem</option>,  <option value="classKCrash.html">kcrash</option>,  <option value="classKDCOPPropertyProxy.html">kdcoppropertyproxy</option>,  <option value="classKDebugDCOPIface.html">kdebugdcopiface</option>,  <option value="classKDesktopFile.html">kdesktopfile</option>,  <option value="classKExtendedSocket.html">kextendedsocket</option>,  <option value="classKGenericFactory.html">kgenericfactory</option>,  <option value="classKGenericFactory_3_01KTypeList_3_01Product_00_01ProductListTail_01_4_00_01KTypeList_3_01Pare1ed8d1e5a9847c99711cad3b12c7e96c.html">kgenericfactory< ktypelist< product, productlisttail >, ktypelist< pare1ed8d1e5a9847c99711cad3b12c7e96c</option>,  <option value="classKGenericFactory_3_01KTypeList_3_01Product_00_01ProductListTail_01_4_00_01KTypeList_3_01Paref6a00f76851e0daa2cb662bb8a41fc7f.html">kgenericfactory< ktypelist< product, productlisttail >, ktypelist< paref6a00f76851e0daa2cb662bb8a41fc7f</option>,  <option value="classKGenericFactory_3_01KTypeList_3_01Product_00_01ProductListTail_01_4_00_01QObject_01_4.html">kgenericfactory< ktypelist< product, productlisttail >, qobject ></option>,  <option value="classKGlobal.html">kglobal</option>,  <option value="classKGlobalAccel.html">kglobalaccel</option>,  <option value="classKGlobalSettings.html">kglobalsettings</option>,  <option value="classKIcon.html">kicon</option>,  <option value="classKIconEffect.html">kiconeffect</option>,  <option value="classKIconLoader.html">kiconloader</option>,  <option value="classKIconTheme.html">kicontheme</option>,  <option value="classKInetSocketAddress.html">kinetsocketaddress</option>,  <option value="classKInstance.html">kinstance</option>,  <option value="classKIOBufferBase.html">kiobufferbase</option>,  <option value="classKIPC.html">kipc</option>,  <option value="classKKey.html">kkey</option>,  <option value="classKKeyNative.html">kkeynative</option>,  <option value="classKKeySequence.html">kkeysequence</option>,  <option value="classKLibFactory.html">klibfactory</option>,  <option value="classKLibLoader.html">klibloader</option>,  <option value="classKLibrary.html">klibrary</option>,  <option value="classKLocale.html">klocale</option>,  <option value="classKLockFile.html">klockfile</option>,  <option value="classKMacroExpanderBase.html">kmacroexpanderbase</option>,  <option value="classKMD4.html">kmd4</option>,  <option value="classKMD5.html">kmd5</option>,  <option value="classKMimeSourceFactory.html">kmimesourcefactory</option>,  <option value="classKMountPoint.html">kmountpoint</option>,  <option value="classKMultipleDrag.html">kmultipledrag</option>,  <option value="classKNetwork_1_1KActiveSocketBase.html">knetwork::kactivesocketbase</option>,  <option value="classKNetwork_1_1KBufferedSocket.html">knetwork::kbufferedsocket</option>,  <option value="classKNetwork_1_1KClientSocketBase.html">knetwork::kclientsocketbase</option>,  <option value="classKNetwork_1_1KDatagramPacket.html">knetwork::kdatagrampacket</option>,  <option value="classKNetwork_1_1KDatagramSocket.html">knetwork::kdatagramsocket</option>,  <option value="classKNetwork_1_1KHttpProxySocketDevice.html">knetwork::khttpproxysocketdevice</option>,  <option value="classKNetwork_1_1KInetSocketAddress.html">knetwork::kinetsocketaddress</option>,  <option value="classKNetwork_1_1KIpAddress.html">knetwork::kipaddress</option>,  <option value="classKNetwork_1_1KMulticastSocket.html">knetwork::kmulticastsocket</option>,  <option value="classKNetwork_1_1KMulticastSocketImpl.html">knetwork::kmulticastsocketimpl</option>,  <option value="classKNetwork_1_1KNetworkInterface.html">knetwork::knetworkinterface</option>,  <option value="classKNetwork_1_1KPassiveSocketBase.html">knetwork::kpassivesocketbase</option>,  <option value="classKNetwork_1_1KResolver.html">knetwork::kresolver</option>,  <option value="classKNetwork_1_1KResolverEntry.html">knetwork::kresolverentry</option>,  <option value="classKNetwork_1_1KResolverResults.html">knetwork::kresolverresults</option>,  <option value="classKNetwork_1_1KResolverWorkerBase_1_1ResolverLocker.html">knetwork::kresolverworkerbase::resolverlocker</option>,  <option value="classKNetwork_1_1KReverseResolver.html">knetwork::kreverseresolver</option>,  <option value="classKNetwork_1_1KServerSocket.html">knetwork::kserversocket</option>,  <option value="classKNetwork_1_1KSocketAddress.html">knetwork::ksocketaddress</option>,  <option value="classKNetwork_1_1KSocketBase.html">knetwork::ksocketbase</option>,  <option value="classKNetwork_1_1KSocketDevice.html">knetwork::ksocketdevice</option>,  <option value="classKNetwork_1_1KSocketDeviceFactory.html">knetwork::ksocketdevicefactory</option>,  <option value="classKNetwork_1_1KSocksSocketDevice.html">knetwork::ksockssocketdevice</option>,  <option value="classKNetwork_1_1KStreamSocket.html">knetwork::kstreamsocket</option>,  <option value="classKNetwork_1_1KUnixSocketAddress.html">knetwork::kunixsocketaddress</option>,  <option value="classKNotifyClient_1_1Instance.html">knotifyclient::instance</option>,  <option value="classKPalette.html">kpalette</option>,  <option value="classKPixmapProvider.html">kpixmapprovider</option>,  <option value="classKPopupAccelManager.html">kpopupaccelmanager</option>,  <option value="classKProcess.html">kprocess</option>,  <option value="classKProcessController.html">kprocesscontroller</option>,  <option value="classKProcIO.html">kprocio</option>,  <option value="classKProtocolInfoFactory.html">kprotocolinfofactory</option>,  <option value="classKPty.html">kpty</option>,  <option value="classKRandomSequence.html">krandomsequence</option>,  <option value="classKRegExp.html">kregexp</option>,  <option value="classKRegExpPrivate.html">kregexpprivate</option>,  <option value="classKRFCDate.html">krfcdate</option>,  <option value="classKRootProp.html">krootprop</option>,  <option value="classKSaveFile.html">ksavefile</option>,  <option value="classKServerSocket.html">kserversocket</option>,  <option value="classKSessionManaged.html">ksessionmanaged</option>,  <option value="classKShared.html">kshared</option>,  <option value="classKSharedConfig.html">ksharedconfig</option>,  <option value="classKSharedPtr.html">ksharedptr</option>,  <option value="classKShellProcess.html">kshellprocess</option>,  <option value="classKShortcut.html">kshortcut</option>,  <option value="classKShortcutList.html">kshortcutlist</option>,  <option value="classKSimpleConfig.html">ksimpleconfig</option>,  <option value="classKSocket.html">ksocket</option>,  <option value="classKSocketAddress.html">ksocketaddress</option>,  <option value="classKSocks.html">ksocks</option>,  <option value="classKSortableItem.html">ksortableitem</option>,  <option value="classKSortableValueList.html">ksortablevaluelist</option>,  <option value="classKStandardDirs.html">kstandarddirs</option>,  <option value="classKStaticDeleter.html">kstaticdeleter</option>,  <option value="classKStaticDeleterBase.html">kstaticdeleterbase</option>,  <option value="classKStdAccel_1_1ShortcutList.html">kstdaccel::shortcutlist</option>,  <option value="classKStringHandler.html">kstringhandler</option>,  <option value="classKSycocaEntry.html">ksycocaentry</option>,  <option value="classKSycocaFactoryList.html">ksycocafactorylist</option>,  <option value="classKTempDir.html">ktempdir</option>,  <option value="classKTempFile.html">ktempfile</option>,  <option value="classKTimezone.html">ktimezone</option>,  <option value="classKTimezoneDetails.html">ktimezonedetails</option>,  <option value="classKTimezones.html">ktimezones</option>,  <option value="classKTimezoneSource.html">ktimezonesource</option>,  <option value="classKUniqueApplication.html">kuniqueapplication</option>,  <option value="classKUnixSocketAddress.html">kunixsocketaddress</option>,  <option value="classKURL.html">kurl</option>,  <option value="classKURL_1_1List.html">kurl::list</option>,  <option value="classKURLDrag.html">kurldrag</option>,  <option value="classKUser.html">kuser</option>,  <option value="classKUserGroup.html">kusergroup</option>,  <option value="classKVMAllocator.html">kvmallocator</option>,  <option value="classKWin.html">kwin</option>,  <option value="classKWin_1_1WindowInfo.html">kwin::windowinfo</option>,  <option value="classKWinModule.html">kwinmodule</option>,  <option value="classKWordMacroExpander.html">kwordmacroexpander</option>,  <option value="classKXErrorHandler.html">kxerrorhandler</option>,  <option value="classKZoneAllocator.html">kzoneallocator</option>,  <option value="classNET.html">net</option>,
</select>
</form>
</div>
-->
</div></div>
<div class="menu_box"><h2>API Dox</h2>
<div class="nav_list">
<ul>
<li><a href="../../arts/html/index.html">arts</a></li><li><a href="../../dcop/html/index.html">dcop</a></li><li><a href="../../dnssd/html/index.html">dnssd</a></li><li><a href="../../interfaces/html/index.html">interfaces</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../interfaces/kimproxy/interface/html/index.html">interface</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../interfaces/kimproxy/library/html/index.html">library</a></li><li>&nbsp;&nbsp;<a href="../../interfaces/kspeech/html/index.html">kspeech</a></li><li>&nbsp;&nbsp;<a href="../../interfaces/ktexteditor/html/index.html">ktexteditor</a></li><li><a href="../../kabc/html/index.html">kabc</a></li><li><a href="../../kate/html/index.html">kate</a></li><li><a href="../../kcmshell/html/index.html">kcmshell</a></li><li><a href="../../kdecore/html/index.html">kdecore</a></li><li><a href="../../kded/html/index.html">kded</a></li><li><a href="../../kdefx/html/index.html">kdefx</a></li><li><a href="../../kdeprint/html/index.html">kdeprint</a></li><li><a href="../../kdesu/html/index.html">kdesu</a></li><li><a href="../../kdeui/html/index.html">kdeui</a></li><li><a href="../../kdoctools/html/index.html">kdoctools</a></li><li><a href="../../khtml/html/index.html">khtml</a></li><li><a href="../../kimgio/html/index.html">kimgio</a></li><li><a href="../../kinit/html/index.html">kinit</a></li><li><a href="../../kio/html/index.html">kio</a></li><li>&nbsp;&nbsp;<a href="../../kio/bookmarks/html/index.html">bookmarks</a></li><li>&nbsp;&nbsp;<a href="../../kio/httpfilter/html/index.html">httpfilter</a></li><li>&nbsp;&nbsp;<a href="../../kio/kfile/html/index.html">kfile</a></li><li>&nbsp;&nbsp;<a href="../../kio/kio/html/index.html">kio</a></li><li>&nbsp;&nbsp;<a href="../../kio/kioexec/html/index.html">kioexec</a></li><li>&nbsp;&nbsp;<a href="../../kio/kpasswdserver/html/index.html">kpasswdserver</a></li><li>&nbsp;&nbsp;<a href="../../kio/kssl/html/index.html">kssl</a></li><li><a href="../../kioslave/html/index.html">kioslave</a></li><li>&nbsp;&nbsp;<a href="../../kioslave/http/html/index.html">http</a></li><li><a href="../../kjs/html/index.html">kjs</a></li><li><a href="../../kmdi/html/index.html">kmdi</a></li><li>&nbsp;&nbsp;<a href="../../kmdi/kmdi/html/index.html">kmdi</a></li><li><a href="../../knewstuff/html/index.html">knewstuff</a></li><li><a href="../../kparts/html/index.html">kparts</a></li><li><a href="../../kresources/html/index.html">kresources</a></li><li><a href="../../kspell2/html/index.html">kspell2</a></li><li><a href="../../kunittest/html/index.html">kunittest</a></li><li><a href="../../kutils/html/index.html">kutils</a></li><li><a href="../../kwallet/html/index.html">kwallet</a></li><li><a href="../../libkmid/html/index.html">libkmid</a></li><li><a href="../../libkscreensaver/html/index.html">libkscreensaver</a></li>
</ul></div></div>


        </td>
</tr>
</table>

<span class="doNotDisplay">
  <a href="http://www.kde.org/" accesskey="8">KDE Home</a> |
  <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> |
  <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a>
</span>


<div style="height: 8px"></div>

<div id="footer">
  <div id="footer_left">
    Maintained by <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;groo&#116;&#64;kde&#46;or&#x67;">Adriaan de Groot</a>
and
<a href="&#109;a&#105;&#108;&#116;&#111;&#58;w&#105;nter&#64;kde&#46;or&#x67">Allen Winter</a>.
<br/>
    KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> |
    <a href="http://www.kde.org/contact/impressum.php">Legal</a>
  </div>
  <div id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div>
</div>

<!--
WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL
BE BLOCKED INSTANTLY AND PERMANENTLY!
<a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a>
WARNING END
-->

</body>
</html>