summaryrefslogtreecommitdiff
path: root/project-base/src/settings_config.h
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2024-11-23 22:33:43 +0100
committerAldrik Ramaekers <aldrikboy@gmail.com>2024-11-23 22:33:43 +0100
commitb1e857cf1471d1871a9396696b22fa531da98249 (patch)
tree3923008a8653057698cb339faf6dcfa92e18364b /project-base/src/settings_config.h
parent106bb7fcadf637cec883648916cc8d19529d6199 (diff)
add projbase to repo
Diffstat (limited to 'project-base/src/settings_config.h')
-rw-r--r--project-base/src/settings_config.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/project-base/src/settings_config.h b/project-base/src/settings_config.h
new file mode 100644
index 0000000..eec7608
--- /dev/null
+++ b/project-base/src/settings_config.h
@@ -0,0 +1,42 @@
+/*
+* BSD 2-Clause “Simplified” License
+* Copyright (c) 2019, Aldrik Ramaekers, aldrik.ramaekers@protonmail.com
+* All rights reserved.
+*/
+
+#ifndef INCLUDE_SETTINGS_CONFIG
+#define INCLUDE_SETTINGS_CONFIG
+
+typedef struct t_config_setting
+{
+ char *name;
+ char *value;
+} config_setting;
+
+typedef struct t_settings_config
+{
+ char *path;
+ array settings;
+ bool loaded;
+} settings_config;
+
+/* Example of file:
+* NAME = "Aldrik Ramaekers"
+* AGE = "69"
+* NUMBER = "15"
+*/
+
+void settings_write_to_file();
+
+void _settings_init(char *path);
+void _settings_destroy();
+
+config_setting* settings_get_setting(char *name);
+char* settings_get_string(char *name);
+s64 settings_get_number(char *name);
+s64 settings_get_number_or_default(char *name, s64 def);
+
+void settings_set_string(char *name, char *value);
+void settings_set_number(char *name, s64 value);
+
+#endif \ No newline at end of file