CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
settingshashnode.cxh
1#include <cx/ssdtree/node/ssdhashnode.cxh>
2
3typedef struct SettingsBind {
4 stype type; // type of bound variable
5 stgeneric *var; // pointer to bound variable
6 stgeneric cache; // cached copy for change detection
7 stgeneric def; // default value
8
9 bool userset; // explicitly overridden, even if it's the default value
10} SettingsBind;
11
12class SettingsHashNode extends SSDHashNode
13{
14 hashtable binds;
15
16 override get;
17 override set;
18 override setC;
19 override remove;
20
21 bool bind(strref name, stype btyp, void *bvar, stgeneric bdef, SSDLockState *_ssdCurrentLockState);
22 void checkBound(strref name, SSDLockState *_ssdCurrentLockState); // check a single bound variable for changes
23 void checkAll(SSDLockState *_ssdCurrentLockState); // check for bound variables that have changed
24 void unbindAll(SSDLockState *_ssdCurrentLockState);
25
26 factory _create(SSDTree *tree);
27 init();
28}