--- Daodan/src/Daodan_Config.h 2014/04/06 17:06:02 993 +++ Daodan/src/Daodan_Config.h 2014/05/04 18:17:11 1000 @@ -3,7 +3,10 @@ #include "stdint.h" +typedef void (*cmd_callback)(); + typedef enum { + C_CMD, C_BOOL, C_INT, C_STRING, @@ -14,6 +17,7 @@ typedef union { int intBoolVal; uint8_t* extBoolVal; char* stringVal; + cmd_callback callback; } OptionValue_t; typedef struct { @@ -27,13 +31,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