Skip to main content

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
FlagValueDescription
NONE0x00No flag is set.
VALUE_ENCRYPTED0x02If set, a value to be saved in the database will be saved encrypted.
CONFIDENTIAL0x04Do never display this entry in the SSMS GUI.
UNIQUE_TO_USER0x08The value of this property must be unique to all devices belonging to same user.
READ_ONLY0x20This property may not be written by portal and App.
APP_PORTAL_ACCESS_ALL0x00000000App and portal may access the property. This is the default
APP_PORTAL_ACCESS_NO_PORTAL0x00000040The portal may not access the property.
APP_PORTAL_ACCESS_NO_APP0x00000080The App may not access the property.
APP_PORTAL_ACCESS_SDK_SSMS_ONLY0x000000C0Neither App nor portal may access the Property.
CACHE_POLICY_NO_CACHING0x00000000The 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_ONLY0x100The SDK will keep a local-only copy. It will never synchronize it with the SSMS.
CACHE_POLICY_SYNCHRONIZE_FROM_SDK0x0200The 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_SSMS0x300The 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_KEYSTORAGE0x00000400The 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_PENDING0x00000800With 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