33 lines
814 B
C++
33 lines
814 B
C++
#ifndef CFGFILEPARSER_H
|
|
#define CFGFILEPARSER_H
|
|
|
|
#include "AbstractParser.h"
|
|
#include "CFGDictionary.h"
|
|
#include "SDCardManager.h"
|
|
#include "definition.h"
|
|
#include "CFGParameterValue.h"
|
|
|
|
//Forward class declaration because of cross includes...
|
|
class SDCardManager;
|
|
|
|
class CFGFileParser : public AbstractParser
|
|
{
|
|
public:
|
|
CFGFileParser(SDCardManager &sdCardManager, const char *file);
|
|
virtual void *parseFile();
|
|
virtual boolean save(void *data);
|
|
protected:
|
|
private:
|
|
//This part handles the _buff realloc
|
|
enum State {INIT, COMMENT_SECTION, LINE_BREAK, PARAM_SECTION, ERROR, OPENING_QUOTE, SEPARATION, DONE};
|
|
enum Type {PARAMETER, VALUE};
|
|
State _state;
|
|
Type _type;
|
|
boolean _quotedParameter;
|
|
boolean _quotedValue;
|
|
SDCardManager &_sdCardManager;
|
|
};
|
|
|
|
|
|
#endif //CFGFILEPARSER_H
|