3#ifndef TRAM_SDK_FRAMEWORK_SETTINGS_H
4#define TRAM_SDK_FRAMEWORK_SETTINGS_H
8#include <initializer_list>
23void Register(
bool& value,
const char* name, uint32_t flags);
24void Register(
float& value,
const char* name, uint32_t flags);
25void Register(int32_t& value,
const char* name, uint32_t flags);
26void Register(uint32_t& value,
const char* name, uint32_t flags);
31void Parse(
const char** argv,
int argc);
33void Save(
const char* file);
34void Load(
const char* file);
42 Property(std::initializer_list<value_t> values) {
43 value = values.begin()[0];
45 const char* name = values.begin()[1];
46 uint32_t flags = values.begin()[2];
Generic, type-safe union.
Definition: value.h:18
Application setting management and CLI command parser.
@ MENU
Definition: settings.h:16
@ APPLICATION
Definition: settings.h:15
@ USER
Definition: settings.h:14
@ NONE
Definition: settings.h:20
void Parse(const char **argv, int argc)
Definition: settings.cpp:178
Value Get(name_t name)
Definition: settings.cpp:114
void Set(name_t name, Value value)
Definition: settings.cpp:148
void Load(const char *file)
Definition: settings.cpp:247
uint32_t Flags(name_t name)
Definition: settings.cpp:233
std::vector< name_t > GetSettings(uint32_t filter)
Definition: settings.cpp:238
void Register(bool &value, const char *name, uint32_t flags)
Definition: settings.cpp:96
void Save(const char *file)
Definition: settings.cpp:243
Definition: settings.h:41
T value
Definition: settings.h:64
Property(std::initializer_list< value_t > values)
Definition: settings.h:42
Property(const bool &value)
Definition: settings.h:51
Interned string type.
Definition: uid.h:10