--- Daodan/src/Daodan_Config.h 2014/04/06 17:06:02 993 +++ Daodan/src/Daodan_Config.h 2021/10/24 02:50:32 1162 @@ -3,17 +3,23 @@ #include "stdint.h" +typedef void (*cmd_callback)(); + typedef enum { + C_CMD, C_BOOL, C_INT, + C_FLOAT, C_STRING, EXT_BOOL } OptionType_t; typedef union { int intBoolVal; + float floatVal; uint8_t* extBoolVal; char* stringVal; + cmd_callback callback; } OptionValue_t; typedef struct { @@ -27,13 +33,16 @@ typedef struct { typedef struct { char* name; char* description; - ConfigOption_t options[50]; + ConfigOption_t options[20]; } ConfigSection_t; void DDrConfig(int argc, char* argv[]); +void DDrConfig_WriteIni(); ConfigOption_t* DDrConfig_GetOptOfType(const char* fullOptName, OptionType_t type); const char* DDrConfig_GetOptionTypeName(OptionType_t type); +const char* DDrConfig_GetOptionValueString(ConfigOption_t* opt, char printdefault); +char DDrConfig_NonDefaultOptionValue(ConfigOption_t* opt); #endif