Property Flags
For each property so called flags may be set to assign different options to a property. Some flag/owner-combinations are not allowed. Some flags can be grouped together:
APP_PORTAL_ACCESS: With this property flags the access to a property from the App and/or from the portal may be restricted. This will be enforced by SDK and SSMS. This flag has the 4 following possible values:
- APP_PORTAL_ACCESS_ALL
- APP_PORTAL_ACCESS_NO_APP
- APP_PORTAL_ACCESS_NO_PORTAL
- APP_PORTAL_ACCESS_SDK_SSMS_ONLY
CACHE_POLICY: Based on this property flags it will be decided whether to keep a local cache copy of the property and whether to synchronize changes to it between SDK and SSMS. This flags has the 4 following possible values:
- CACHE_POLICY_NO_CACHING
- CACHE_POLICY_SDK_CACHE_ONLY
- CACHE_POLICY_SYNCHRONIZE_FROM_SDK
- CACHE_POLICY_SYNCHRONIZE_FROM_SSMS
The following Flag/owner combinations not allowed for the App:
- CACHE_POLICY is CACHE_POLICY_SDK_CACHE_ONLY and READ_ONLY is set.
- CACHE_POLICY is CACHE_POLICY_SYNCHRONIZE_FROM_SDK and READ_ONLY} is set
- CACHE_POLICY is CACHE_POLICY_SDK_CACHE_ONLY and property owner is OWNER_USER or OWNER_GROUP
- CACHE_POLICY is CACHE_POLICY_SYNCHRONIZE_FROM_SSMS
- APP_PORTAL_ACCESS is APP_PORTAL_ACCESS_NO_APP or APP_PORTAL_ACCESS_SDK_SSMS_ONLY
- IN_KEYSTORAGE while keystorage is not opened
Flag | Value | Description |
---|---|---|
NONE | 0x00 | No flag is set. |
VALUE_ENCRYPTED | 0x02 | If set, a value to be saved in the database will be saved encrypted. |
CONFIDENTIAL | 0x04 | Do never display this entry in the SSMS GUI. |
UNIQUE_TO_USER | 0x08 | The value of this property must be unique to all devices belonging to same user. |
READ_ONLY | 0x20 | This property may not be written by portal and App. |
APP_PORTAL_ACCESS_ALL | 0x00000000 | App and portal may access the property. This is the default |
APP_PORTAL_ACCESS_NO_PORTAL | 0x00000040 | The portal may not access the property. |
APP_PORTAL_ACCESS_NO_APP | 0x00000080 | The App may not access the property. |
APP_PORTAL_ACCESS_SDK_SSMS_ONLY | 0x000000C0 | Neither App nor portal may access the Property. |
CACHE_POLICY_NO_CACHING | 0x00000000 | The SDK will not keep a local copy. The App will be informed about modifications to this property on the SSMS-side by call to onPropertySynchronization. |
CACHE_POLICY_SDK_CACHE_ONLY | 0x100 | The SDK will keep a local-only copy. It will never synchronize it with the SSMS. |
CACHE_POLICY_SYNCHRONIZE_FROM_SDK | 0x0200 | The SDK will keep a local copy and propagate modifications to the SSMS. If the property owner is OWNER_DEVICE, it will never accept modifications from the SSMS. If the property owner is OWNER_USER or OWNER_GROUP, the SDK will accept modifications. That way a modification of a property belonging to a user with this caching policy will be propagated to all devices of this user. |
CACHE_POLICY_SYNCHRONIZE_FROM_SSMS | 0x300 | The SDK will keep a local copy and modify in accordance to modifications on the SSMS automatically. The App will be informed after this was done. This value may not be used by the App while setting a property. |
IN_KEYSTORAGE | 0x00000400 | The SDK will allow access to this property only if the keystorage is opened. This flag may only be set, if the CACHE_POLICY is not CACHE_POLICY_NO_CACHING |
SYNCHRONIZATION_PENDING | 0x00000800 | With this flags the SDK informs the App that a cached property was modified, but this modification was not yet propagated to the SSMS. It may not be set during write accesses. It can only be set, if the CACHE_POLICY is CACHE_POLICY_SYNCHRONIZE_FROM_SDK |