summaryrefslogtreecommitdiff
path: root/src/settings_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings_config.h')
-rw-r--r--src/settings_config.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/settings_config.h b/src/settings_config.h
new file mode 100644
index 0000000..1b931e1
--- /dev/null
+++ b/src/settings_config.h
@@ -0,0 +1,40 @@
+/*
+* 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
+{
+ array settings;
+} settings_config;
+
+/* Example of file:
+* NAME = "Aldrik Ramaekers"
+* AGE = "69"
+* NUMBER = "15"
+*/
+
+settings_config settings_config_load_from_file(char *path);
+void settings_config_write_to_file(settings_config *config, char *path);
+void settings_config_destroy(settings_config *config);
+
+config_setting* settings_config_get_setting(settings_config *config, char *name);
+char* settings_config_get_string(settings_config *config, char *name);
+s64 settings_config_get_number(settings_config *config, char *name);
+
+void settings_config_set_string(settings_config *config, char *name, char *value);
+void settings_config_set_number(settings_config *config, char *name, s64 value);
+
+
+
+#endif \ No newline at end of file