Archived:Information retrieved using the Publish and Subscribe keys defined in SaCls.h is incorrect (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Article Metadata
Platform(s): S60 3rd Edition
S60 3rd Edition (initial release)
Created: User:Technical writer 1 (20 Aug 2007)
Last edited: hamishwillee (19 Jun 2012)


The header file SaCls.hbelongs to the removed System Agent API. It is, however, maintained temporarily in the S60 SDK since the same keys can be used to access device status information (for example, whether unread messages are available in the Inbox) using the Publish and Subscribe API.

However, the header file was not updated and while the keys are valid, the enumerations that help decoding the values read from the keys are incorrect since they should all start with an entry signaling that the key is defined but not yet initialized. This is due to the fact that, once defined, an integer Publish and Subscribe key defaults to 0 so the value 0 is not safe to be used as the actual stored data.

What is now defined as:

enum TSAInboxStatus
ESAInboxEmpty, // 0 (with P&S could also mean "not initialized")
ESADocumentsInInbox // 1

should be

enum TSAInboxStatus
ESAInboxUninitialized = 0,
ESAInboxEmpty, // 1
ESADocumentsInInbox // 2
This page was last modified on 19 June 2012, at 11:10.
24 page views in the last 30 days.