#ifndef SDL_visualtest_sut_configparser_h_
#define SDL_visualtest_sut_configparser_h_
#define MAX_SUTOPTION_NAME_LEN 100
#define MAX_SUTOPTION_CATEGORY_LEN 40
#define MAX_SUTOPTION_ENUMVAL_LEN 40
#define MAX_SUTOPTION_LINE_LENGTH 256
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
SDL_SUT_OPTIONTYPE_STRING = 0,
SDL_SUT_OPTIONTYPE_INT,
SDL_SUT_OPTIONTYPE_ENUM,
SDL_SUT_OPTIONTYPE_BOOL
} SDLVisualTest_SUTOptionType;
typedef struct SDLVisualTest_SUTIntRange {
int min;
int max;
} SDLVisualTest_SUTIntRange;
typedef struct SDLVisualTest_SUTOption {
char name[MAX_SUTOPTION_NAME_LEN];
char** categories;
SDLVisualTest_SUTOptionType type;
SDL_bool required;
union {
SDLVisualTest_SUTIntRange range;
char** enum_values;
} data;
} SDLVisualTest_SUTOption;
typedef struct SDLVisualTest_SUTConfig
{
SDLVisualTest_SUTOption* options;
int num_options;
} SDLVisualTest_SUTConfig;
int SDLVisualTest_ParseSUTConfig(char* file, SDLVisualTest_SUTConfig* config);
void SDLVisualTest_FreeSUTConfig(SDLVisualTest_SUTConfig* config);
#ifdef __cplusplus
}
#endif
#endif