ESP8266_swiss_army_board/src/app/CFGFileParser.h

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