Settings manager module

This is the manager of settings at the KernelAPI level. The settings are organized into a tree. Every node of the tree has a symbolic name, which is determined by its path in the tree. These names can be divided into parts along their point separators. Every section of the name between two points (dots) corresponds to an individual node of the path. The sections of the name of a given node appear in the correct order to denote all the nodes in the path going from the root of the tree to the given node. The name of the root is an empty string. There may be non-setting nodes in the tree. Nodes, and therefore settings can be accessed via handles.

The settings of StsMan can have the following types:

  • Integer, including int, bool and enum

  • Double

  • Integer array, including int, bool, enum and set array

  • Double array

  • String

  • Unicode string

DevKit users can create their own settings, store them in the tree and maintain them in the same way as existing settings. Every setting has a default value, which cannot be changed during the whole lifetime of that setting. It can be set only when it is created. On the other hand, every setting has a current value, which can be different in different Settings Collections. The current value can be changed anytime in any collection. Settings values from any collection can be saved into files, and loaded from them later.