#ifndef __CONFIGMODEL_H #define __CONFIGMODEL_H #include "types.h" #include CONFIGFILEPTR ConfigFileRead(CONST_STRPTR filename); VOID ConfigFileFree(CONFIGFILEPTR configFile); StringArray ConfigFileGetAll(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey); STRPTR ConfigFileGet(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey); VOID ConfigFileAdd(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey, CONST_STRPTR stringValue); VOID ConfigFileSet(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey, CONST_STRPTR stringValue); VOID ConfigFileReplaceAll(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey, CONST_STRPTR stringValue); VOID ConfigFileUnset(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey, CONST_STRPTR stringValue); VOID ConfigFileUnsetAll(CONFIGFILEPTR abstractConfigFile, CONST_STRPTR compoundKey, CONST_STRPTR stringValue); VOID ConfigFileDump(CONFIGFILEPTR configFile); StringArray ConfigFileSplitKeyForVar(CONST_STRPTR key); StringArray ConfigFileSplitKeyCompletely(CONST_STRPTR key); LINEPTR LineNew(CONST_STRPTR buffer); VOID LineFree(LINEPTR abstractLine); CONST_STRPTR LineGetRawText(LINEPTR line); VOID LineSetSection(LINEPTR line, SECTIONPTR section); SECTIONPTR LineGetSection(LINEPTR line); VARIABLEPTR LineGetVariable(LINEPTR line); VOID LineSetInitialVariable(LINEPTR line, VARIABLEPTR variable); VOID LineSetVariable(LINEPTR line, VARIABLEPTR variable); BOOL LineHasVariable(LINEPTR line, CONST_STRPTR varKey); BOOL LineIsBlank(LINEPTR line); VOID LineDump(LINEPTR abstractLine); SECTIONPTR SectionCreateWithName(CONST_STRPTR primary); SECTIONPTR SectionCreateWithNameAndSubname(CONST_STRPTR primary, CONST_STRPTR secondary); VOID SectionFree(SECTIONPTR section); VOID SectionAddSectionLine(SECTIONPTR section, LINEPTR line); VOID SectionAddLine(SECTIONPTR section, LINEPTR line); CONST_STRPTR SectionCanonicalName(SECTIONPTR section); VOID SectionDump(SECTIONPTR section); CONST_STRPTR SectionSerialize(SECTIONPTR section); VOID SectionCollectLinesForVariable(SECTIONPTR section, CONST_STRPTR varKey, LineArray collecting); VARIABLEPTR VariableCreate(CONST_STRPTR key, CONST_STRPTR rawValue); BOOL VariableHasKey(VARIABLEPTR variable, CONST_STRPTR varKey); CONST_STRPTR VariableGetRawValue(VARIABLEPTR variable); VOID VariableFree(VARIABLEPTR variable); CONST_STRPTR VariableSerialize(VARIABLEPTR variable); #endif