Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > d2229253b8f3127ab89b179a82cc8466 > files > 445

libqxt-devel-0.6.1-2.fc15.i686.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- /builddir/build/BUILD/libqxt/src/web/qxtabstracthttpconnector.cpp -->
<head>
  <title>QxtAbstractHttpConnector Class Reference</title>
  <link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="32"><a href="http://libqxt.org"><img src="images/qxt-logo.png" width="50" height="40" align="left" border="0" /></a></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="modules.html"><font color="#004faf">Modules</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">Classes</font></a>&nbsp;&middot; <a href="namespaces.html"><font color="#004faf">Namespaces</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">Functions</font></a></td>
<td align="right" valign="top" width="230"></td></tr></table><h1 class="title">QxtAbstractHttpConnector Class Reference<br /><span class="small-subtitle">[<a href="qxtweb.html">QxtWeb</a> module]</span>
</h1>
<p>The QxtAbstractHttpConnector class is a base class for defining HTTP-based protocols for use with <a href="qxthttpsessionmanager.html">QxtHttpSessionManager</a> <a href="#details">More...</a></p>
<pre>    #include &lt;QxtAbstractHttpConnector&gt;</pre><p>Inherits <a href="http://doc.qtsoftware.com/4.5/qobject.html">QObject</a>.</p>
<p>Inherited by <a href="qxthttpserverconnector.html">QxtHttpServerConnector</a> and <a href="qxtscgiserverconnector.html">QxtScgiServerConnector</a>.</p>
<ul>
<li><a href="qxtabstracthttpconnector-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h3>Public Functions</h3>
<ul>
<li><div class="fn"></div><b><a href="qxtabstracthttpconnector.html#QxtAbstractHttpConnector">QxtAbstractHttpConnector</a></b> ( QObject * <i>parent</i> = 0 )</li>
<li><div class="fn"></div>virtual bool <b><a href="qxtabstracthttpconnector.html#listen">listen</a></b> ( const QHostAddress &amp; <i>interface</i>, quint16 <i>port</i> ) = 0</li>
</ul>
<ul>
<li><div class="fn"></div>29 public functions inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#public-functions">QObject</a></li>
</ul>
<a name="protected-functions"></a>
<h3>Protected Functions</h3>
<ul>
<li><div class="fn"></div>void <b><a href="qxtabstracthttpconnector.html#addConnection">addConnection</a></b> ( QIODevice * <i>device</i> )</li>
<li><div class="fn"></div>virtual bool <b><a href="qxtabstracthttpconnector.html#canParseRequest">canParseRequest</a></b> ( const QByteArray &amp; <i>buffer</i> ) = 0</li>
<li><div class="fn"></div>virtual QHttpRequestHeader <b><a href="qxtabstracthttpconnector.html#parseRequest">parseRequest</a></b> ( QByteArray &amp; <i>buffer</i> ) = 0</li>
<li><div class="fn"></div>QxtHttpSessionManager * <b><a href="qxtabstracthttpconnector.html#sessionManager">sessionManager</a></b> () const</li>
<li><div class="fn"></div>virtual void <b><a href="qxtabstracthttpconnector.html#writeHeaders">writeHeaders</a></b> ( QIODevice * <i>device</i>, const QHttpResponseHeader &amp; <i>header</i> ) = 0</li>
</ul>
<ul>
<li><div class="fn"></div>7 protected functions inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#protected-functions">QObject</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li><div class="fn"></div>1 property inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#properties">QObject</a></li>
<li><div class="fn"></div>1 public slot inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#public-slots">QObject</a></li>
<li><div class="fn"></div>1 signal inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#signals">QObject</a></li>
<li><div class="fn"></div>1 public type inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#public-variables">QObject</a></li>
<li><div class="fn"></div>4 static public members inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#static-public-members">QObject</a></li>
<li><div class="fn"></div>2 protected variables inherited from <a href="http://doc.qtsoftware.com/4.5/qobject.html#protected-variables">QObject</a></li>
</ul>
<a name="details"></a>
<hr />
<h2>Detailed Description</h2>
<p>The QxtAbstractHttpConnector class is a base class for defining HTTP-based protocols for use with <a href="qxthttpsessionmanager.html">QxtHttpSessionManager</a></p>
<p><a href="qxthttpsessionmanager.html">QxtHttpSessionManager</a> does the work of managing sessions and state for the otherwise stateless HTTP protocol, but it relies on QxtAbstractHttpConnector subclasses to implement the protocol used to communicate with the web server.</p>
<p>Subclasses are responsible for accepting new connections (by implementing listen(const <a href="http://doc.qtsoftware.com/4.5/qhostaddress.html">QHostAddress</a>&amp;, quint16) and invoking addConnection(<a href="http://doc.qtsoftware.com/4.5/qiodevice.html">QIODevice</a>*)), for informing the session manager when request headers are available (by implementing canParseRequest(const <a href="http://doc.qtsoftware.com/4.5/qbytearray.html">QByteArray</a>&amp;)), for parsing the request headers (by implementing parseRequest(<a href="http://doc.qtsoftware.com/4.5/qbytearray.html">QByteArray</a>&amp;)), and for writing response headers (by implementing writeHeaders(<a href="http://doc.qtsoftware.com/4.5/qiodevice.html">QIODevice</a>*, const <a href="http://doc.qtsoftware.com/4.5/qhttpresponseheader.html">QHttpResponseHeader</a>&amp;)).</p>
<p>See also <a href="qxthttpsessionmanager.html">QxtHttpSessionManager</a>.</p>
<hr />
<h2>Member Function Documentation</h2>
<h3 class="fn"><a name="QxtAbstractHttpConnector"></a>QxtAbstractHttpConnector::QxtAbstractHttpConnector ( <a href="http://doc.qtsoftware.com/4.5/qobject.html">QObject</a> * <i>parent</i> = 0 )</h3>
<p>Creates a <a href="qxtabstracthttpconnector.html">QxtAbstractHttpConnector</a> with the specified <i>parent</i>.</p>
<p>Note that this is an abstract class and cannot be instantiated directly.</p>
<h3 class="fn"><a name="addConnection"></a>void QxtAbstractHttpConnector::addConnection ( <a href="http://doc.qtsoftware.com/4.5/qiodevice.html">QIODevice</a> * <i>device</i> )&nbsp;&nbsp;<tt> [protected]</tt></h3>
<p>Starts managing a new connection from <i>device</i>.</p>
<p>This function should be invoked by a subclass to attach incoming connections to the session manager.</p>
<h3 class="fn"><a name="canParseRequest"></a>bool QxtAbstractHttpConnector::canParseRequest ( const <a href="http://doc.qtsoftware.com/4.5/qbytearray.html">QByteArray</a> &amp; <i>buffer</i> )&nbsp;&nbsp;<tt> [pure virtual protected]</tt></h3>
<p>Returns true if a complete set of request headers can be extracted from the provided <i>buffer</i>.</p>
<h3 class="fn"><a name="listen"></a>bool QxtAbstractHttpConnector::listen ( const <a href="http://doc.qtsoftware.com/4.5/qhostaddress.html">QHostAddress</a> &amp; <i>interface</i>, <a href="http://doc.qtsoftware.com/4.5/qtglobal.html#quint16-typedef">quint16</a> <i>port</i> )&nbsp;&nbsp;<tt> [pure virtual]</tt></h3>
<p>Invoked by the session manager to indicate that the connector should listen for incoming connections on the specified <i>interface</i> and <i>port</i>.</p>
<p>If the interface is <a href="http://doc.qtsoftware.com/4.5/qhostaddress.html#SpecialAddress-enum">QHostAddress::Any</a>, the server will listen on all network interfaces.</p>
<p>Returns true on success, or false if the server could not begin listening.</p>
<p>See also addConnection(QIODevice*).</p>
<h3 class="fn"><a name="parseRequest"></a><a href="http://doc.qtsoftware.com/4.5/qhttprequestheader.html">QHttpRequestHeader</a> QxtAbstractHttpConnector::parseRequest ( <a href="http://doc.qtsoftware.com/4.5/qbytearray.html">QByteArray</a> &amp; <i>buffer</i> )&nbsp;&nbsp;<tt> [pure virtual protected]</tt></h3>
<p>Extracts a set of request headers from the provided <i>buffer</i>.</p>
<p>Subclasses implementing this function must be sure to remove the parsed data from the buffer.</p>
<h3 class="fn"><a name="sessionManager"></a><a href="qxthttpsessionmanager.html">QxtHttpSessionManager</a> * QxtAbstractHttpConnector::sessionManager () const&nbsp;&nbsp;<tt> [protected]</tt></h3>
<p>Returns the session manager into which the connector is installed.</p>
<p>See also QxtHttpSessionManager::setConnector.</p>
<h3 class="fn"><a name="writeHeaders"></a>void QxtAbstractHttpConnector::writeHeaders ( <a href="http://doc.qtsoftware.com/4.5/qiodevice.html">QIODevice</a> * <i>device</i>, const <a href="http://doc.qtsoftware.com/4.5/qhttpresponseheader.html">QHttpResponseHeader</a> &amp; <i>header</i> )&nbsp;&nbsp;<tt> [pure virtual protected]</tt></h3>
<p>Writes a the response <i>header</i> to the specified <i>device</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
<td align="left">Copyright &copy; 2007-2010
<a href="mailto:foundation@libqxt.org">Qxt Foundation</a></td>
<td align="right"><div align="right">
<a href="http://libqxt.org">Qxt</a> 0.6.1</div></td>
</tr></table></div></address></body>
</html>