<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Vidalia: UPNPControl Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>UPNPControl Class Reference</h1><!-- doxytag: class="UPNPControl" --> <p><code>#include <<a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>></code></p> <p><a href="class_u_p_n_p_control-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> { <br/> <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5aefc2ed7fb13975e2e50dcb4d78909c7b">Success</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a355b28f8cc5e9f5572db67eea459a033">NoUPNPDevicesFound</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a93e496450844e546109dfd030ad799d2">NoValidIGDsFound</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5aa9294f6e82c07e7fb68e10140613d8fd">WSAStartupFailed</a>, <br/> <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a2919dfdd27c25dcfea14b998bff48ad8">AddPortMappingFailed</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a30741c851bc477d550f8ff35c8ab7c95">GetPortMappingFailed</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a8e86abceff27323e95ed817172b0d8aa">DeletePortMappingFailed</a>, <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5a988ad663d191e4ce0a10fd36325cfbba">UnknownError</a> <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPState</a> { <br/> <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396abcc30c0282363489914cb22d1e4f9f69">IdleState</a>, <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396a278239b98c407b22b2506257665c8637">ErrorState</a>, <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396acd5b2e70299d630102a9fee289e68e25">DiscoverState</a>, <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396a29adb10162b1056f8ecc750e192db3aa">UpdatingORPortState</a>, <br/> <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396a1fc94b798dd5a915ad3f83d9eda180d1">UpdatingDirPortState</a>, <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396ad50a7106ed41c55e20a63cf882c913fc">ForwardingCompleteState</a> <br/> }</td></tr> <tr><td colspan="2"><h2>Signals</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a56257a858317cab629205b1e1011bf9f">stateChanged</a> (<a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPControl::UPNPState</a> state)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a9e810d44907114dcf745f6b969d6984f">error</a> (<a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPControl::UPNPError</a> error)</td></tr> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a59027db8f6d2b6ffa35b15c8546b75e2">getDesiredState</a> (quint16 *desiredDirPort, quint16 *desiredOrPort)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a32326c4e812a710434a747e89bdce54f">setDesiredState</a> (quint16 desiredDirPort, quint16 desiredOrPort)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a941024fcfa7f67304e11c7fe2ce7f8d7">error</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#af61f6a46d938bbccf68b760fa69e3da6">errorString</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a07279abb8640c54c0febd7c9bea2212a">discoverTimeout</a> () const </td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_u_p_n_p_control.html">UPNPControl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a5046fdfc0449019c8d1e21ac0918dbb1">instance</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a08d919527cbffb92e9025d97f726ffbf">cleanup</a> ()</td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#ac823462f9671ea83b352e43422a8a6c2">UPNPControl</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a467e7ccd9fe3d8229407176283e24870">~UPNPControl</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a895b541c8a1d9a027c22e2abd25ffdd5">setError</a> (<a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> error)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a0fe4d42fd0dd95787db3ba26e56b29fc">setState</a> (<a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPState</a> state)</td></tr> <tr><td colspan="2"><h2>Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">quint16 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a326849504aec23443ff2dd59d6569be9">_forwardedORPort</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">quint16 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a78c6d73b9353be6f800738075fe50749">_forwardedDirPort</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">QMutex * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a744ffebc1be3852ba49efdae2d1d057a">_mutex</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#aee3ca68e15bb7ffc3a7e546ad93f5b53">_error</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#a56a18baa17169a07f18a08d61da43468">_state</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_u_p_n_p_control_thread.html">UPNPControlThread</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#af01229e146c92e268509cf2a2de436cb">_controlThread</a></td></tr> <tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_u_p_n_p_control.html">UPNPControl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#afc461959262012319ff4cfd81b325ef0">_instance</a> = 0</td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_u_p_n_p_control.html#af20ee7c151c1a53c16eaa9416e4dd1f1">UPNPControlThread</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00027">27</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5"></a><!-- doxytag: member="UPNPControl::UPNPError" ref="a8a2e746cc9e991fec8b724f7a388b7c5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPControl::UPNPError</a></td> </tr> </table> </div> <div class="memdoc"> <p>UPnP-related error values. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5aefc2ed7fb13975e2e50dcb4d78909c7b"></a><!-- doxytag: member="Success" ref="a8a2e746cc9e991fec8b724f7a388b7c5aefc2ed7fb13975e2e50dcb4d78909c7b" args="" -->Success</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a355b28f8cc5e9f5572db67eea459a033"></a><!-- doxytag: member="NoUPNPDevicesFound" ref="a8a2e746cc9e991fec8b724f7a388b7c5a355b28f8cc5e9f5572db67eea459a033" args="" -->NoUPNPDevicesFound</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a93e496450844e546109dfd030ad799d2"></a><!-- doxytag: member="NoValidIGDsFound" ref="a8a2e746cc9e991fec8b724f7a388b7c5a93e496450844e546109dfd030ad799d2" args="" -->NoValidIGDsFound</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5aa9294f6e82c07e7fb68e10140613d8fd"></a><!-- doxytag: member="WSAStartupFailed" ref="a8a2e746cc9e991fec8b724f7a388b7c5aa9294f6e82c07e7fb68e10140613d8fd" args="" -->WSAStartupFailed</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a2919dfdd27c25dcfea14b998bff48ad8"></a><!-- doxytag: member="AddPortMappingFailed" ref="a8a2e746cc9e991fec8b724f7a388b7c5a2919dfdd27c25dcfea14b998bff48ad8" args="" -->AddPortMappingFailed</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a30741c851bc477d550f8ff35c8ab7c95"></a><!-- doxytag: member="GetPortMappingFailed" ref="a8a2e746cc9e991fec8b724f7a388b7c5a30741c851bc477d550f8ff35c8ab7c95" args="" -->GetPortMappingFailed</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a8e86abceff27323e95ed817172b0d8aa"></a><!-- doxytag: member="DeletePortMappingFailed" ref="a8a2e746cc9e991fec8b724f7a388b7c5a8e86abceff27323e95ed817172b0d8aa" args="" -->DeletePortMappingFailed</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a8a2e746cc9e991fec8b724f7a388b7c5a988ad663d191e4ce0a10fd36325cfbba"></a><!-- doxytag: member="UnknownError" ref="a8a2e746cc9e991fec8b724f7a388b7c5a988ad663d191e4ce0a10fd36325cfbba" args="" -->UnknownError</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00033">33</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> </div> </div> <a class="anchor" id="acd04a19f042494f03791de43c9db7396"></a><!-- doxytag: member="UPNPControl::UPNPState" ref="acd04a19f042494f03791de43c9db7396" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPControl::UPNPState</a></td> </tr> </table> </div> <div class="memdoc"> <p>UPnP port forwarding state. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396abcc30c0282363489914cb22d1e4f9f69"></a><!-- doxytag: member="IdleState" ref="acd04a19f042494f03791de43c9db7396abcc30c0282363489914cb22d1e4f9f69" args="" -->IdleState</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396a278239b98c407b22b2506257665c8637"></a><!-- doxytag: member="ErrorState" ref="acd04a19f042494f03791de43c9db7396a278239b98c407b22b2506257665c8637" args="" -->ErrorState</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396acd5b2e70299d630102a9fee289e68e25"></a><!-- doxytag: member="DiscoverState" ref="acd04a19f042494f03791de43c9db7396acd5b2e70299d630102a9fee289e68e25" args="" -->DiscoverState</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396a29adb10162b1056f8ecc750e192db3aa"></a><!-- doxytag: member="UpdatingORPortState" ref="acd04a19f042494f03791de43c9db7396a29adb10162b1056f8ecc750e192db3aa" args="" -->UpdatingORPortState</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396a1fc94b798dd5a915ad3f83d9eda180d1"></a><!-- doxytag: member="UpdatingDirPortState" ref="acd04a19f042494f03791de43c9db7396a1fc94b798dd5a915ad3f83d9eda180d1" args="" -->UpdatingDirPortState</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="acd04a19f042494f03791de43c9db7396ad50a7106ed41c55e20a63cf882c913fc"></a><!-- doxytag: member="ForwardingCompleteState" ref="acd04a19f042494f03791de43c9db7396ad50a7106ed41c55e20a63cf882c913fc" args="" -->ForwardingCompleteState</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00044">44</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac823462f9671ea83b352e43422a8a6c2"></a><!-- doxytag: member="UPNPControl::UPNPControl" ref="ac823462f9671ea83b352e43422a8a6c2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">UPNPControl::UPNPControl </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. Initializes and starts a thread in which all blocking UPnP operations will be performed. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">43</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">_controlThread</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00106">_error</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00104">_forwardedDirPort</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00103">_forwardedORPort</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00107">_state</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00045">IdleState</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00041">UnknownError</a>, and <a class="el" href="_u_p_n_p_control_8h_source.html#l00109">UPNPControlThread</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00032">instance()</a>.</p> </div> </div> <a class="anchor" id="a467e7ccd9fe3d8229407176283e24870"></a><!-- doxytag: member="UPNPControl::~UPNPControl" ref="a467e7ccd9fe3d8229407176283e24870" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">UPNPControl::~UPNPControl </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. <a class="el" href="class_u_p_n_p_control.html#a08d919527cbffb92e9025d97f726ffbf">cleanup()</a> should be called before the object is destroyed.</p> <p>Destructor. <a class="el" href="class_u_p_n_p_control.html#a08d919527cbffb92e9025d97f726ffbf">cleanup()</a> should be called before the object is destroyed. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_u_p_n_p_control.html#a08d919527cbffb92e9025d97f726ffbf">cleanup()</a> </dd></dl> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00060">60</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">_controlThread</a>, and <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a08d919527cbffb92e9025d97f726ffbf"></a><!-- doxytag: member="UPNPControl::cleanup" ref="a08d919527cbffb92e9025d97f726ffbf" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::cleanup </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Terminates the UPnP control thread and frees memory allocated to this object's singleton instance. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00069">69</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">_controlThread</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00101">_instance</a>, and <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00168">UPNPControlThread::stop()</a>.</p> <p>Referenced by <a class="el" href="_server_settings_8cpp_source.html#l00201">ServerSettings::cleanupPortForwarding()</a>.</p> </div> </div> <a class="anchor" id="a07279abb8640c54c0febd7c9bea2212a"></a><!-- doxytag: member="UPNPControl::discoverTimeout" ref="a07279abb8640c54c0febd7c9bea2212a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int UPNPControl::discoverTimeout </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the number of milliseconds to wait for devices to respond when attempting to discover UPnP-enabled IGDs. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00161">161</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_thread_8h_source.html#l00041">UPNPControlThread::UPNPCONTROL_DISCOVER_TIMEOUT</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00023">UPNPTestDialog::UPNPTestDialog()</a>.</p> </div> </div> <a class="anchor" id="a9e810d44907114dcf745f6b969d6984f"></a><!-- doxytag: member="UPNPControl::error" ref="a9e810d44907114dcf745f6b969d6984f" args="(UPNPControl::UPNPError error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::error </td> <td>(</td> <td class="paramtype"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPControl::UPNPError</a> </td> <td class="paramname"> <em>error</em></td> <td> ) </td> <td><code> [signal]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Emitted when a UPnP error occurs. </p> </div> </div> <a class="anchor" id="a941024fcfa7f67304e11c7fe2ce7f8d7"></a><!-- doxytag: member="UPNPControl::error" ref="a941024fcfa7f67304e11c7fe2ce7f8d7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPControl::UPNPError</a> UPNPControl::error </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the type of error that occurred last. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00126">126</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00106">_error</a>, and <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00134">errorString()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00103">setError()</a>.</p> </div> </div> <a class="anchor" id="af61f6a46d938bbccf68b760fa69e3da6"></a><!-- doxytag: member="UPNPControl::errorString" ref="af61f6a46d938bbccf68b760fa69e3da6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString UPNPControl::errorString </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns a QString describing the type of error that occurred last. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00134">134</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00038">AddPortMappingFailed</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00040">DeletePortMappingFailed</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00126">error()</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00039">GetPortMappingFailed</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00035">NoUPNPDevicesFound</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00036">NoValidIGDsFound</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00034">Success</a>, and <a class="el" href="_u_p_n_p_control_8h_source.html#l00037">WSAStartupFailed</a>.</p> </div> </div> <a class="anchor" id="a59027db8f6d2b6ffa35b15c8546b75e2"></a><!-- doxytag: member="UPNPControl::getDesiredState" ref="a59027db8f6d2b6ffa35b15c8546b75e2" args="(quint16 *desiredDirPort, quint16 *desiredOrPort)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::getDesiredState </td> <td>(</td> <td class="paramtype">quint16 * </td> <td class="paramname"> <em>desiredDirPort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">quint16 * </td> <td class="paramname"> <em>desiredOrPort</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets <b>desiredDirPort</b> and <b>desiredOrPort</b> to the currently forwarded DirPort and ORPort values. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00079">79</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00104">_forwardedDirPort</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00103">_forwardedORPort</a>, and <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00100">UPNPControlThread::configurePorts()</a>, and <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00023">UPNPTestDialog::UPNPTestDialog()</a>.</p> </div> </div> <a class="anchor" id="a5046fdfc0449019c8d1e21ac0918dbb1"></a><!-- doxytag: member="UPNPControl::instance" ref="a5046fdfc0449019c8d1e21ac0918dbb1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control.html">UPNPControl</a> * UPNPControl::instance </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a pointer to this object's singleton instance. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00032">32</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">_controlThread</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00101">_instance</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> <p>Referenced by <a class="el" href="_server_settings_8cpp_source.html#l00178">ServerSettings::configurePortForwarding()</a>, <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00100">UPNPControlThread::configurePorts()</a>, <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00240">UPNPControlThread::initializeUPNP()</a>, <a class="el" href="_main_window_8cpp_source.html#l00098">MainWindow::MainWindow()</a>, <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00061">UPNPControlThread::run()</a>, <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00060">UPNPTestDialog::startTest()</a>, <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00086">UPNPTestDialog::testFailed()</a>, <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00074">UPNPTestDialog::testSuccessful()</a>, <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00106">UPNPTestDialog::upnpStateChanged()</a>, and <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00023">UPNPTestDialog::UPNPTestDialog()</a>.</p> </div> </div> <a class="anchor" id="a32326c4e812a710434a747e89bdce54f"></a><!-- doxytag: member="UPNPControl::setDesiredState" ref="a32326c4e812a710434a747e89bdce54f" args="(quint16 desiredDirPort, quint16 desiredOrPort)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::setDesiredState </td> <td>(</td> <td class="paramtype">quint16 </td> <td class="paramname"> <em>desiredDirPort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">quint16 </td> <td class="paramname"> <em>desiredOrPort</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the desired DirPort and ORPort port mappings to <b>desiredDirPort</b> and <b>desiredOrPort</b>, respectively. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00090">90</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">_controlThread</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00104">_forwardedDirPort</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00103">_forwardedORPort</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>, and <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00190">UPNPControlThread::wakeup()</a>.</p> <p>Referenced by <a class="el" href="_server_settings_8cpp_source.html#l00178">ServerSettings::configurePortForwarding()</a>, <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00048">UPNPTestDialog::setVisible()</a>, and <a class="el" href="_u_p_n_p_test_dialog_8cpp_source.html#l00060">UPNPTestDialog::startTest()</a>.</p> </div> </div> <a class="anchor" id="a895b541c8a1d9a027c22e2abd25ffdd5"></a><!-- doxytag: member="UPNPControl::setError" ref="a895b541c8a1d9a027c22e2abd25ffdd5" args="(UPNPError error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::setError </td> <td>(</td> <td class="paramtype"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> </td> <td class="paramname"> <em>upnpError</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the most recent UPnP-related error to <b>error</b> and emits the <a class="el" href="class_u_p_n_p_control.html#a941024fcfa7f67304e11c7fe2ce7f8d7">error()</a> signal. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_u_p_n_p_control.html#a941024fcfa7f67304e11c7fe2ce7f8d7">error</a></dd></dl> <p>Sets the most recent UPnP-related error to <b>error</b> and emits the <a class="el" href="class_u_p_n_p_control.html#a941024fcfa7f67304e11c7fe2ce7f8d7">error()</a> signal. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00103">103</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00106">_error</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00126">error()</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00100">UPNPControlThread::configurePorts()</a>.</p> </div> </div> <a class="anchor" id="a0fe4d42fd0dd95787db3ba26e56b29fc"></a><!-- doxytag: member="UPNPControl::setState" ref="a0fe4d42fd0dd95787db3ba26e56b29fc" args="(UPNPState state)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::setState </td> <td>(</td> <td class="paramtype"><a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPState</a> </td> <td class="paramname"> <em>state</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the current UPnP state to <b>state</b> and emits the <a class="el" href="class_u_p_n_p_control.html#a56257a858317cab629205b1e1011bf9f">stateChanged()</a> signal. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_u_p_n_p_control.html#a56257a858317cab629205b1e1011bf9f">stateChanged</a></dd></dl> <p>Sets the current UPnP state to <b>state</b> and emits the <a class="el" href="class_u_p_n_p_control.html#a56257a858317cab629205b1e1011bf9f">stateChanged()</a> signal. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00115">115</a> of file <a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a>.</p> <p>References <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">_mutex</a>, <a class="el" href="_u_p_n_p_control_8h_source.html#l00107">_state</a>, and <a class="el" href="class_u_p_n_p_control.html#a56257a858317cab629205b1e1011bf9f">stateChanged()</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00100">UPNPControlThread::configurePorts()</a>, <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00240">UPNPControlThread::initializeUPNP()</a>, and <a class="el" href="_u_p_n_p_control_thread_8cpp_source.html#l00061">UPNPControlThread::run()</a>.</p> </div> </div> <a class="anchor" id="a56257a858317cab629205b1e1011bf9f"></a><!-- doxytag: member="UPNPControl::stateChanged" ref="a56257a858317cab629205b1e1011bf9f" args="(UPNPControl::UPNPState state)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void UPNPControl::stateChanged </td> <td>(</td> <td class="paramtype"><a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPControl::UPNPState</a> </td> <td class="paramname"> <em>state</em></td> <td> ) </td> <td><code> [signal]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Emitted when the UPnP control thread status changes. </p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00115">setState()</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="af20ee7c151c1a53c16eaa9416e4dd1f1"></a><!-- doxytag: member="UPNPControl::UPNPControlThread" ref="af20ee7c151c1a53c16eaa9416e4dd1f1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="class_u_p_n_p_control_thread.html">UPNPControlThread</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00109">109</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="af01229e146c92e268509cf2a2de436cb"></a><!-- doxytag: member="UPNPControl::_controlThread" ref="af01229e146c92e268509cf2a2de436cb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control_thread.html">UPNPControlThread</a>* <a class="el" href="class_u_p_n_p_control.html#af01229e146c92e268509cf2a2de436cb">UPNPControl::_controlThread</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Thread used for UPnP operations. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00110">110</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00069">cleanup()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00032">instance()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00090">setDesiredState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00060">~UPNPControl()</a>.</p> </div> </div> <a class="anchor" id="aee3ca68e15bb7ffc3a7e546ad93f5b53"></a><!-- doxytag: member="UPNPControl::_error" ref="aee3ca68e15bb7ffc3a7e546ad93f5b53" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control.html#a8a2e746cc9e991fec8b724f7a388b7c5">UPNPError</a> <a class="el" href="class_u_p_n_p_control.html#aee3ca68e15bb7ffc3a7e546ad93f5b53">UPNPControl::_error</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Most recent UPNP error. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00106">106</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00126">error()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00103">setError()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> </div> </div> <a class="anchor" id="a78c6d73b9353be6f800738075fe50749"></a><!-- doxytag: member="UPNPControl::_forwardedDirPort" ref="a78c6d73b9353be6f800738075fe50749" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">quint16 <a class="el" href="class_u_p_n_p_control.html#a78c6d73b9353be6f800738075fe50749">UPNPControl::_forwardedDirPort</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Currently forwarded DirPort. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00104">104</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00079">getDesiredState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00090">setDesiredState()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> </div> </div> <a class="anchor" id="a326849504aec23443ff2dd59d6569be9"></a><!-- doxytag: member="UPNPControl::_forwardedORPort" ref="a326849504aec23443ff2dd59d6569be9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">quint16 <a class="el" href="class_u_p_n_p_control.html#a326849504aec23443ff2dd59d6569be9">UPNPControl::_forwardedORPort</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Currently forwarded ORPort. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00103">103</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00079">getDesiredState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00090">setDesiredState()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> </div> </div> <a class="anchor" id="afc461959262012319ff4cfd81b325ef0"></a><!-- doxytag: member="UPNPControl::_instance" ref="afc461959262012319ff4cfd81b325ef0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control.html">UPNPControl</a> * <a class="el" href="class_u_p_n_p_control.html#afc461959262012319ff4cfd81b325ef0">UPNPControl::_instance</a> = 0<code> [static, private]</code></td> </tr> </table> </div> <div class="memdoc"> <p><a class="el" href="class_u_p_n_p_control.html">UPNPControl</a> singleton instance. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00101">101</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00069">cleanup()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00032">instance()</a>.</p> </div> </div> <a class="anchor" id="a744ffebc1be3852ba49efdae2d1d057a"></a><!-- doxytag: member="UPNPControl::_mutex" ref="a744ffebc1be3852ba49efdae2d1d057a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QMutex* <a class="el" href="class_u_p_n_p_control.html#a744ffebc1be3852ba49efdae2d1d057a">UPNPControl::_mutex</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Mutex around variables shared with <a class="el" href="class_u_p_n_p_control_thread.html">UPNPControlThread</a>. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00105">105</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00126">error()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00079">getDesiredState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00090">setDesiredState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00103">setError()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00115">setState()</a>, <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00060">~UPNPControl()</a>.</p> </div> </div> <a class="anchor" id="a56a18baa17169a07f18a08d61da43468"></a><!-- doxytag: member="UPNPControl::_state" ref="a56a18baa17169a07f18a08d61da43468" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_u_p_n_p_control.html#acd04a19f042494f03791de43c9db7396">UPNPState</a> <a class="el" href="class_u_p_n_p_control.html#a56a18baa17169a07f18a08d61da43468">UPNPControl::_state</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Current UPNP status. </p> <p>Definition at line <a class="el" href="_u_p_n_p_control_8h_source.html#l00107">107</a> of file <a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a>.</p> <p>Referenced by <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00115">setState()</a>, and <a class="el" href="_u_p_n_p_control_8cpp_source.html#l00043">UPNPControl()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="_u_p_n_p_control_8h_source.html">UPNPControl.h</a></li> <li><a class="el" href="_u_p_n_p_control_8cpp_source.html">UPNPControl.cpp</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Aug 30 22:58:57 2010 for Vidalia by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>