<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>UPnP/DLNA plugin for VDR: cUPnPServer 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.5.8 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</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="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>cUPnPServer Class Reference</h1><!-- doxytag: class="cUPnPServer" --><code>#include <<a class="el" href="server_8h-source.html">server.h</a>></code> <p> <div class="dynheader"> Collaboration diagram for cUPnPServer:</div> <div class="dynsection"> <p><center><img src="classcUPnPServer__coll__graph.png" border="0" usemap="#cUPnPServer__coll__map" alt="Collaboration graph"></center> <map name="cUPnPServer__coll__map"> <area shape="rect" href="classcContentDirectory.html" title="{cContentDirectory\n|- mMediaDatabase\l|+ cContentDirectory()\l+ ~cContentDirectory()\l+ subscribe()\l+ execute()\l+ setError()\l- Action()\l- getSearchCapabilities()\l- getSortCapabilities()\l- getSystemUpdateID()\l- browse()\l}" alt="" coords="275,1909,437,2133"><area shape="rect" href="classcUpnpService.html" title="{cUpnpService\n|# mDeviceHandle\l|+ ~cUpnpService()\l+ subscribe()\l+ execute()\l# setError()\l# parseIntegerValue()\l# parseStringValue()\l- cUpnpService()\l}" alt="" coords="229,1493,373,1669"><area shape="rect" href="classcConnectionManager.html" title="{cConnectionManager\n|- mDefaultConnection\l- mVirtualConnections\l- mSupportedProtocols\l|+ cConnectionManager()\l+ ~cConnectionManager()\l+ subscribe()\l+ execute()\l+ setError()\l- setError()\l- getProtocolInfo()\l- getCurrentConnectionIDs()\l- getCurrentConnectionInfo()\l- prepareForConnection()\l- connectionComplete()\l- createVirtualConnection()\l- destroyVirtualConnection()\l- getConnectionIDsCVS()\l}" alt="" coords="67,1861,251,2181"><area shape="rect" href="classcMediaDatabase.html" title="{cMediaDatabase\n|- mSystemUpdateID\l- mFactory\l- mObjects\l- mDatabase\l- mLastInsertObjectID\l|+ getSystemUpdateID()\l+ getContainerUpdateIDs()\l+ cMediaDatabase()\l+ ~cMediaDatabase()\l+ addFastFind()\l+ getObjectByFastFind()\l+ getObjectByID()\l+ browse()\l+ search()\l- getNextObjectID()\l- cacheObject()\l- prepareDatabase()\l- loadChannels()\l- loadRecordings()\l- updateChannelEPG()\l- updateRecordings()\l- init()\l- updateSystemID()\l- Action()\l}" alt="" coords="397,1365,573,1797"><area shape="rect" href="classcUPnPObjectFactory.html" title="{cUPnPObjectFactory\n|- mDatabase\l- mMediators\l- mInstance\l|+ registerMediator()\l+ unregisterMediator()\l+ createObject()\l+ getObject()\l+ saveObject()\l+ deleteObject()\l+ clearObject()\l+ getInstance()\l- findMediatorByID()\l- findMediatorByClass()\l- cUPnPObjectFactory()\l}" alt="" coords="405,973,565,1245"><area shape="rect" href="classcSQLiteDatabase.html" title="{cSQLiteDatabase\n|- mAutoCommit\l- mActiveTransaction\l- mLastRow\l- mRows\l- mDatabase\l- mInstance\l|+ ~cSQLiteDatabase()\l+ getResultCount()\l+ getLastInsertRowID()\l+ getResultRows()\l+ execStatement()\l+ startTransaction()\l+ commitTransaction()\l+ rollbackTransaction()\l+ setAutoCommit()\l+ sprintf()\l+ getInstance()\l- cSQLiteDatabase()\l- initialize()\l- initializeTables()\l- initializeTriggers()\l- exec()\l- getResultRow()\l}" alt="" coords="291,437,445,853"><area shape="rect" href="classcRows.html" title="{cRows\n|- mLastRow\l|+ ~cRows()\l+ fetchRow()\l- cRows()\l}" alt="" coords="432,261,528,373"><area shape="rect" href="classcRow.html" title="{cRow\n|- currentCol\l- ColCount\l- Columns\l- Values\l|+ ~cRow()\l+ Count()\l+ fetchColumn()\l+ fetchColumn()\l- cRow()\l}" alt="" coords="333,5,448,197"><area shape="rect" href="structcUPnPObjectID.html" title="{cUPnPObjectID\n|+ _ID\l|+ cUPnPObjectID()\l+ cUPnPObjectID()\l+ cUPnPObjectID()\l+ operator=()\l+ operator=()\l+ operator=()\l+ operator++()\l+ operator++()\l+ operator--()\l+ operator--()\l+ operator!=()\l+ operator==()\l+ operator!=()\l+ operator==()\l+ operator!=()\l+ operator==()\l+ operator unsigned int()\l+ operator int()\l+ operator long()\l+ operator*()\l}" alt="" coords="675,917,837,1301"><area shape="rect" href="classcUPnPWebServer.html" title="{cUPnPWebServer\n|- mRootdir\l- mInstance\l- mVirtualDirCallbacks\l|+ init()\l+ uninit()\l+ ~cUPnPWebServer()\l+ getInstance()\l+ getInfo()\l+ open()\l+ read()\l+ write()\l+ seek()\l+ close()\l- cUPnPWebServer()\l}" alt="" coords="611,1885,765,2157"><area shape="rect" href="classcVirtualConnection.html" title="{cVirtualConnection\n|- mRemoteProtocolInfo\l- mRemoteConnectionManager\l- mDirection\l- mRemoteConnectionID\l- mConnectionID\l- mAVTransportID\l- mRcsID\l- mStatus\l|- cVirtualConnection()\l- getStatusString()\l- getDirectionString()\l- getDirection()\l- getConnectionStatus()\l}" alt="" coords="5,1453,205,1709"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classcUPnPServer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#e0277b2231f10e66a5c6ce9acb42fcd0">cUPnPServer</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#8eb136050f3f6c2edb7acbf5d690723d">~cUPnPServer</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#4935ab1fbcc03279193e0f9fa675fb8b">enable</a> (bool enabled)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#811d90c5aadc75bc48670757def1c21e">start</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#9dd50cfea9042d49ef58b99b44c0c5af">restart</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#c5ecc7ef5d42db1fa136ff00b24d1289">stop</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#783f27c1997257539ccb8ff7ade815be">autoDetectSettings</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#f938922eff48ca1035e88677e095c0c4">getServerAddress</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#e28dd555ac861850c9a2bbd22d9a7d3a">getInterface</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#77494ce55a93601110bd4ffce8559b23">setServerPort</a> (unsigned short port)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#81cf9d85c09093094febe6966a568702">setInterface</a> (const char *Interface)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#ebebc8d232cf4ad04e5f72f5ab763db6">setAddress</a> (const char *Address)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#7c91df7310a99786a0a126497299d030">setAutoDetection</a> (bool enable)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#fbaaebd4496e98106c2d9be4c2512a66">isEnabled</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#af5358b41e19ba2917371c2d118d0145">isRunning</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#389ffe474f61ec18b6f99dd02a9c31e4">isAutoDetectionEnabled</a> ()</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d07aa2117373999585d4e5530ef02918"></a><!-- doxytag: member="cUPnPServer::cPluginUpnp" ref="d07aa2117373999585d4e5530ef02918" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcUPnPServer.html#d07aa2117373999585d4e5530ef02918">cPluginUpnp</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The UPnP Server<p> This is the core of the UPnP server. This handles all the components which are needed for a UPnP media server. Incoming messages are passed through it and it determines what to do. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="e0277b2231f10e66a5c6ce9acb42fcd0"></a><!-- doxytag: member="cUPnPServer::cUPnPServer" ref="e0277b2231f10e66a5c6ce9acb42fcd0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">cUPnPServer::cUPnPServer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor<p> This will create a new server and initializes the main functionalities The server has to be started manually by invoking <a class="el" href="classcUPnPServer.html#811d90c5aadc75bc48670757def1c21e">cUPnPServer::start()</a>. </div> </div><p> <a class="anchor" name="8eb136050f3f6c2edb7acbf5d690723d"></a><!-- doxytag: member="cUPnPServer::~cUPnPServer" ref="8eb136050f3f6c2edb7acbf5d690723d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">cUPnPServer::~cUPnPServer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor<p> This will destroy the server object. Open ports and connections will be closed. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="783f27c1997257539ccb8ff7ade815be"></a><!-- doxytag: member="cUPnPServer::autoDetectSettings" ref="783f27c1997257539ccb8ff7ade815be" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::autoDetectSettings </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Automatically detect settings<p> This will automatically detect the network settings if the autodetection is turned on.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if autoDetection was successful</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="4935ab1fbcc03279193e0f9fa675fb8b"></a><!-- doxytag: member="cUPnPServer::enable" ref="4935ab1fbcc03279193e0f9fa675fb8b" args="(bool enabled)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cUPnPServer::enable </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>enabled</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Enable the server<p> This switch indicates if the server is startable or not<p> If it is set to false, any invocation of <a class="el" href="classcUPnPServer.html#811d90c5aadc75bc48670757def1c21e">start()</a> will do nothing.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>enabled</em> </td><td>if <b><code>true</code>,</b> the server will be enabled. If <b><code>false</code> it</b> is disabled. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="e28dd555ac861850c9a2bbd22d9a7d3a"></a><!-- doxytag: member="cUPnPServer::getInterface" ref="e28dd555ac861850c9a2bbd22d9a7d3a" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* cUPnPServer::getInterface </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the interface the server listens to<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the network interface </dd></dl> </div> </div><p> <a class="anchor" name="f938922eff48ca1035e88677e095c0c4"></a><!-- doxytag: member="cUPnPServer::getServerAddress" ref="f938922eff48ca1035e88677e095c0c4" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sockaddr_in * cUPnPServer::getServerAddress </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the server address<p> Returns a server address structure including IP address and port<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The server socket address </dd></dl> </div> </div><p> <a class="anchor" name="389ffe474f61ec18b6f99dd02a9c31e4"></a><!-- doxytag: member="cUPnPServer::isAutoDetectionEnabled" ref="389ffe474f61ec18b6f99dd02a9c31e4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::isAutoDetectionEnabled </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Is auto detection enabled or not<p> Returns true or false if auto detection is enabled or not<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if autodetection is enabled</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="fbaaebd4496e98106c2d9be4c2512a66"></a><!-- doxytag: member="cUPnPServer::isEnabled" ref="fbaaebd4496e98106c2d9be4c2512a66" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::isEnabled </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Checks if the server is enabled<p> This indicates if the server is currently enabled.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if the server is enabled</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="af5358b41e19ba2917371c2d118d0145"></a><!-- doxytag: member="cUPnPServer::isRunning" ref="af5358b41e19ba2917371c2d118d0145" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::isRunning </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Checks if the server is running<p> If the server is enabled, this indicates if it is running.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code> if</b> the server is running</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="9dd50cfea9042d49ef58b99b44c0c5af"></a><!-- doxytag: member="cUPnPServer::restart" ref="9dd50cfea9042d49ef58b99b44c0c5af" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::restart </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Restart the server<p> When the server is not operating properly it can be restarted. It will stop the server functionalities, clear everything and start it again.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> when the server restarted successfully</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="ebebc8d232cf4ad04e5f72f5ab763db6"></a><!-- doxytag: member="cUPnPServer::setAddress" ref="ebebc8d232cf4ad04e5f72f5ab763db6" args="(const char *Address)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::setAddress </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>Address</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the server address<p> Specifies the servers IP address. The server needs to restart when the IP is changed. However, it's not possible to detect changes through the system.<p> This method should only be used in cases of fixed IP addresses for example when no DHCP server is available.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Address</em> </td><td>The address of the server </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if the new server address is set</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="7c91df7310a99786a0a126497299d030"></a><!-- doxytag: member="cUPnPServer::setAutoDetection" ref="7c91df7310a99786a0a126497299d030" args="(bool enable)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::setAutoDetection </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>enable</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Enables oder Disables auto detection mode<p> If this is set to true, the setup will get it's information via auto detection<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>enable</em> </td><td><b><code>true</code> enables</b> and <b><code>false</code> disables</b> the auto detection </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if the new server address is set</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="81cf9d85c09093094febe6966a568702"></a><!-- doxytag: member="cUPnPServer::setInterface" ref="81cf9d85c09093094febe6966a568702" args="(const char *Interface)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::setInterface </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>Interface</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The Interface to listen on<p> Sets the listener interface, for instance 'eth1' or 'wlan0'<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Interface</em> </td><td>The interface of the server </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if the new server address is set</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="77494ce55a93601110bd4ffce8559b23"></a><!-- doxytag: member="cUPnPServer::setServerPort" ref="77494ce55a93601110bd4ffce8559b23" args="(unsigned short port)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::setServerPort </td> <td>(</td> <td class="paramtype">unsigned short </td> <td class="paramname"> <em>port</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the server port<p> The port must be in the scope of user definied ports (49152 - 65535). If the port is 0, it is autoassigned. You can retrieve the actual port by calling <a class="el" href="classcUPnPServer.html#f938922eff48ca1035e88677e095c0c4">getServerAddress()</a>, which will give you a structure with the port in it.<p> The server must be restarted if the IP or port changes.<p> Returns 1 when the port is valid, 0 otherwise<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>The port of the server </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> if the new server port is set</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="811d90c5aadc75bc48670757def1c21e"></a><!-- doxytag: member="cUPnPServer::start" ref="811d90c5aadc75bc48670757def1c21e" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cUPnPServer::start </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Start the UPnP server<p> This will start the UPnP server activities as a background task.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> <li><b><code>true</code>,</b> when the server started successfully</li><li><b><code>false</code>,</b> otherwise </li></ul> </dd></dl> </div> </div><p> <a class="anchor" name="c5ecc7ef5d42db1fa136ff00b24d1289"></a><!-- doxytag: member="cUPnPServer::stop" ref="c5ecc7ef5d42db1fa136ff00b24d1289" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cUPnPServer::stop </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Stop the server<p> This will stop the server. This means that open connections to any clients and open ports will be closed. </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li>server/<a class="el" href="server_8h-source.html">server.h</a><li>server/server.cpp</ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Nov 8 15:44:09 2009 for UPnP/DLNA plugin for VDR by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> </body> </html>