33 lines
		
	
	
		
			813 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			813 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef CFGFILEPARSER_H
 | |
| #define CFGFILEPARSER_H
 | |
| 
 | |
| #include "AbstractParser.h"
 | |
| #include "CFGDictionary.h"
 | |
| #include "SDCardManager.h"
 | |
| #include "utilities.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
 |