aboutsummaryrefslogtreecommitdiff
path: root/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
diff options
context:
space:
mode:
Diffstat (limited to 'libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html')
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html522
1 files changed, 522 insertions, 0 deletions
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
new file mode 100644
index 00000000..8a477b7e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
@@ -0,0 +1,522 @@
+<!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>libcontextsubscriber: ContextSubscriber::PropertyHandle 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.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</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>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::PropertyHandle Class Reference</h1><!-- doxytag: class="ContextSubscriber::PropertyHandle" -->
+<p>A common handle for a context property.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="propertyhandle_8h_source.html">propertyhandle.h</a>&gt;</code></p>
+
+<p><a href="class_context_subscriber_1_1_property_handle-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a0ceee4d69e18be36e726af552aaa58ba">valueChanged</a> ()</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a0b12828c764b164dc276a84d46c2ae55">subscribe</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increase the <code>subscribeCount</code> of this context property and subscribe to it through the <code>myProvider</code> instance if neccessary. <a href="#a0b12828c764b164dc276a84d46c2ae55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ad1e8961717be9c3a813096092d1837a4">unsubscribe</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease the <code>subscribeCount</code> of this context property and unsubscribe from it through the <code>myProvider</code> instance if neccessary. <a href="#ad1e8961717be9c3a813096092d1837a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a6d4c9e5006a080e7ae645ed15b1edb28">key</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#abfeb2b16704e22adc33c31e162ef4e36">value</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a22f3af77b3cd883beeab47c5f4365169">isSubscribePending</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a2626ff2603e1afcd8172008d5932006a">info</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d0a471cd063b862fcf09aafd4b125af">onValueChanged</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by the <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code> to change the value of the property. <a href="#a1d0a471cd063b862fcf09aafd4b125af"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#afc48b064e1b5be372519391772fc7ea8">setSubscribeFinished</a> (<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *provider)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets <code>subscribePending</code> to false. <a href="#afc48b064e1b5be372519391772fc7ea8"></a><br/></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_context_subscriber_1_1_property_handle.html">PropertyHandle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a7f70f0de00c9781d43c99ca5d7f87eb1">instance</a> (const QString &amp;key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a6001316d6491ca69ca5be43af4a36211">ignoreCommander</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a3031c1cf5c5d3ccdcf91a2218c2e460e">setTypeCheck</a> (bool typeCheck)</td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a067242c57b142940ba02b1e5a74548d5">updateProvider</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decides who is the current provider of this property and sets up <code>myProvider</code> accordingly. <a href="#a067242c57b142940ba02b1e5a74548d5"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d523c4bc3538073f7f617456cd81a79">PropertyHandle</a> (const QString &amp;key)</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QSet&lt; <a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">pendingSubscriptions</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Providers pending subscription. <a href="#ae40e9519b089dfeefcad97f633839c2b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">myProviders</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Providers of this property. <a href="#a09bbc4df793d9740be2e84cb11fccf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#aaa914d9958d6a3f6b69d3b1446307cea">myInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Metadata for this property. <a href="#aaa914d9958d6a3f6b69d3b1446307cea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f">subscribeCount</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of subscribed <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects subscribed to this property. <a href="#a809f0eae9aef4ffec99f035b7e0e547f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">myKey</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key of this property. <a href="#aba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QReadWriteLock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">myValue</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current value of this property. <a href="#a984638b2c34c7756fd17ff41de90a2df"></a><br/></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_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">commanderListener</a> = new <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>(commanderDBusType, commanderDBusName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listener for ContextCommander's (dis)appearance. <a href="#a8cb5a37f3a69e7019e9d7559e1e2993c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af">commandingEnabled</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the properties can be directed to ContextCommander. <a href="#acb7a882c3ef0423544754bd6fd5de7af"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4">typeCheckEnabled</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether we check the type of the value received from the provider. <a href="#a27312e770b51ebf5439e31361ceb46c4"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A common handle for a context property. </p>
+<p>Only one handle exists at a time for a context property, no matter how much <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects are created for it.</p>
+<p>Communication with the provider is done through the <code>myProvider</code> <code><a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a></code> instance, which is updated when needed because of registry changes. Handling of disappearance from the DBus and then reappearance on the DBus of the same provider is handled privately by <code><a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a></code>. If we don't know the current provider for this handle, then the <code>myProvider</code> pointer is 0.</p>
+<p><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a> and <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> instances are never deleted; they stick around until the process is terminated.</p>
+<p>All of the <a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a> instances and Property provider instances are always created with the <code>QCoreApplication's</code> thread as the thread where they live. This is needed, because user threads can go away and we would like to have only one DBus connection. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1d523c4bc3538073f7f617456cd81a79"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::PropertyHandle" ref="a1d523c4bc3538073f7f617456cd81a79" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::PropertyHandle::PropertyHandle </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6001316d6491ca69ca5be43af4a36211"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::ignoreCommander" ref="a6001316d6491ca69ca5be43af4a36211" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::ignoreCommander </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2626ff2603e1afcd8172008d5932006a"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::info" ref="a2626ff2603e1afcd8172008d5932006a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> * ContextSubscriber::PropertyHandle::info </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7f70f0de00c9781d43c99ca5d7f87eb1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::instance" ref="a7f70f0de00c9781d43c99ca5d7f87eb1" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a> * ContextSubscriber::PropertyHandle::instance </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a22f3af77b3cd883beeab47c5f4365169"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::isSubscribePending" ref="a22f3af77b3cd883beeab47c5f4365169" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextSubscriber::PropertyHandle::isSubscribePending </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6d4c9e5006a080e7ae645ed15b1edb28"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::key" ref="a6d4c9e5006a080e7ae645ed15b1edb28" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextSubscriber::PropertyHandle::key </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1d0a471cd063b862fcf09aafd4b125af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::onValueChanged" ref="a1d0a471cd063b862fcf09aafd4b125af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::onValueChanged </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Used by the <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code> to change the value of the property. </p>
+<p>Before changing the value it checks the type if type checks are enabled. The verification errors are signalled on the stderr. After the check it updates the value and emits the <a class="el" href="class_context_subscriber_1_1_property_handle.html#a0ceee4d69e18be36e726af552aaa58ba">valueChanged()</a> signal. </p>
+
+</div>
+</div>
+<a class="anchor" id="afc48b064e1b5be372519391772fc7ea8"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setSubscribeFinished" ref="afc48b064e1b5be372519391772fc7ea8" args="(Provider *provider)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::setSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td>
+ <td class="paramname"> <em>provider</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sets <code>subscribePending</code> to false. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3031c1cf5c5d3ccdcf91a2218c2e460e"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setTypeCheck" ref="a3031c1cf5c5d3ccdcf91a2218c2e460e" args="(bool typeCheck)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::setTypeCheck </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>typeCheck</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0b12828c764b164dc276a84d46c2ae55"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribe" ref="a0b12828c764b164dc276a84d46c2ae55" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::subscribe </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Increase the <code>subscribeCount</code> of this context property and subscribe to it through the <code>myProvider</code> instance if neccessary. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad1e8961717be9c3a813096092d1837a4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::unsubscribe" ref="ad1e8961717be9c3a813096092d1837a4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::unsubscribe </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Decrease the <code>subscribeCount</code> of this context property and unsubscribe from it through the <code>myProvider</code> instance if neccessary. </p>
+
+</div>
+</div>
+<a class="anchor" id="a067242c57b142940ba02b1e5a74548d5"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::updateProvider" ref="a067242c57b142940ba02b1e5a74548d5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::updateProvider </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Decides who is the current provider of this property and sets up <code>myProvider</code> accordingly. </p>
+<p>If the provider has changed then renews the subscriptions. </p>
+
+</div>
+</div>
+<a class="anchor" id="abfeb2b16704e22adc33c31e162ef4e36"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::value" ref="abfeb2b16704e22adc33c31e162ef4e36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextSubscriber::PropertyHandle::value </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0ceee4d69e18be36e726af552aaa58ba"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueChanged" ref="a0ceee4d69e18be36e726af552aaa58ba" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::valueChanged </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a8cb5a37f3a69e7019e9d7559e1e2993c"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commanderListener" ref="a8cb5a37f3a69e7019e9d7559e1e2993c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> * <a class="el" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle::commanderListener</a> = new <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>(commanderDBusType, commanderDBusName)<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Listener for ContextCommander's (dis)appearance. </p>
+
+</div>
+</div>
+<a class="anchor" id="acb7a882c3ef0423544754bd6fd5de7af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commandingEnabled" ref="acb7a882c3ef0423544754bd6fd5de7af" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle::commandingEnabled</a> = true<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Whether the properties can be directed to ContextCommander. </p>
+
+</div>
+</div>
+<a class="anchor" id="aaa914d9958d6a3f6b69d3b1446307cea"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myInfo" ref="aaa914d9958d6a3f6b69d3b1446307cea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a>* <a class="el" href="class_context_subscriber_1_1_property_handle.html#aaa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle::myInfo</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Metadata for this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="aba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myKey" ref="aba3e2fbd0fc8a8ab0db60efe934f7d6d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle::myKey</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Key of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a09bbc4df793d9740be2e84cb11fccf41"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myProviders" ref="a09bbc4df793d9740be2e84cb11fccf41" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QList&lt;<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>*&gt; <a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">ContextSubscriber::PropertyHandle::myProviders</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Providers of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a984638b2c34c7756fd17ff41de90a2df"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myValue" ref="a984638b2c34c7756fd17ff41de90a2df" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle::myValue</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current value of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae40e9519b089dfeefcad97f633839c2b"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::pendingSubscriptions" ref="ae40e9519b089dfeefcad97f633839c2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>*&gt; <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">ContextSubscriber::PropertyHandle::pendingSubscriptions</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Providers pending subscription. </p>
+
+</div>
+</div>
+<a class="anchor" id="a809f0eae9aef4ffec99f035b7e0e547f"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCount" ref="a809f0eae9aef4ffec99f035b7e0e547f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int <a class="el" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle::subscribeCount</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Number of subscribed <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects subscribed to this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae7fb88f203671edb264655c06bc2e1f0"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCountLock" ref="ae7fb88f203671edb264655c06bc2e1f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle::subscribeCountLock</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a27312e770b51ebf5439e31361ceb46c4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::typeCheckEnabled" ref="a27312e770b51ebf5439e31361ceb46c4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle::typeCheckEnabled</a> = false<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Whether we check the type of the value received from the provider. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad3d31e74ac2b7e1727ff0947895f4fc1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueLock" ref="ad3d31e74ac2b7e1727ff0947895f4fc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QReadWriteLock <a class="el" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle::valueLock</a><code> [mutable, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="propertyhandle_8h_source.html">propertyhandle.h</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+<li><a class="el" href="propertyhandle_8cpp.html">propertyhandle.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 9 15:31:10 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>