This chapter gives you a glimpse of some advanced features of Symbian OS. If you want to take full advantage of these features, you will probably need to use some additional resources, such as the Symbian Developer Library, Symbian Press books or technical papers available on Symbian C++ developer community websites.
You can find a full introduction to the Publish and Subscribe API at
The Publish and Subscribe API in Symbian OS is basically a kernel-side hashtable that can only contain one value per key. The key of the hashtable should be a UID that you allocated. The value of the hashtable is a
TInt or a
TDesC (binary data or text, limited to 512 bytes).
Your code accesses the hashtable through the
RProperty class. The API is fairly basic: add/remove key, get/set value. You can also receive notification if a value changes using
RProperty::Subscribe(), which is an asynchronous request. Only one such request is allowed per
RProperty instance at any given time.
Each property belongs to a category, identified by yet another UID. The category UID defaults to the secure identifier of the current process. It can be useful to you as a developer to have a look at all the properties in the
The main issue with the system category is to find all the property keys that belong ...