
Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
config/ConfigSync.h@107:f1ee3e1eb126, 2015-05-13 (annotated)
- Committer:
- xinlei
- Date:
- Wed May 13 13:03:20 2015 +0000
- Revision:
- 107:f1ee3e1eb126
- Parent:
- 100:dbcd3bc51758
- Child:
- 110:ee9ae4a5e55c
ConfigSync is now singleton
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xinlei | 100:dbcd3bc51758 | 1 | #ifndef CONFIGSYNC_H |
xinlei | 100:dbcd3bc51758 | 2 | #define CONFIGSYNC_H |
xinlei | 100:dbcd3bc51758 | 3 | #include "AbstractReporter.h" |
xinlei | 100:dbcd3bc51758 | 4 | #include "ConfigParser.h" |
xinlei | 98:e369fc75c000 | 5 | |
xinlei | 100:dbcd3bc51758 | 6 | class ConfigSync : public AbstractReporter |
xinlei | 98:e369fc75c000 | 7 | { |
xinlei | 107:f1ee3e1eb126 | 8 | private: |
xinlei | 107:f1ee3e1eb126 | 9 | ConfigSync(): dict(), cp(), changed(true) {} |
xinlei | 98:e369fc75c000 | 10 | public: |
xinlei | 100:dbcd3bc51758 | 11 | virtual ~ConfigSync() {} |
xinlei | 100:dbcd3bc51758 | 12 | virtual bool init() { |
xinlei | 100:dbcd3bc51758 | 13 | resetConfiguration(); |
xinlei | 100:dbcd3bc51758 | 14 | loadConfiguration(); |
xinlei | 100:dbcd3bc51758 | 15 | return true; |
xinlei | 100:dbcd3bc51758 | 16 | } |
xinlei | 107:f1ee3e1eb126 | 17 | static ConfigSync& inst() { |
xinlei | 107:f1ee3e1eb126 | 18 | static ConfigSync _ref; |
xinlei | 107:f1ee3e1eb126 | 19 | return _ref; |
xinlei | 107:f1ee3e1eb126 | 20 | } |
xinlei | 100:dbcd3bc51758 | 21 | virtual const char* name() const { return "Conf"; } |
xinlei | 100:dbcd3bc51758 | 22 | virtual size_t read(char*, size_t, char*, size_t); |
xinlei | 100:dbcd3bc51758 | 23 | bool updateConfiguration(const char*); |
xinlei | 98:e369fc75c000 | 24 | protected: |
xinlei | 100:dbcd3bc51758 | 25 | void resetConfiguration(); |
xinlei | 100:dbcd3bc51758 | 26 | void loadConfiguration(); |
xinlei | 100:dbcd3bc51758 | 27 | void saveConfiguration() const; |
xinlei | 98:e369fc75c000 | 28 | private: |
xinlei | 100:dbcd3bc51758 | 29 | Dict dict; |
xinlei | 100:dbcd3bc51758 | 30 | ConfigParser cp; |
xinlei | 100:dbcd3bc51758 | 31 | bool changed; |
xinlei | 98:e369fc75c000 | 32 | }; |
xinlei | 98:e369fc75c000 | 33 | |
xinlei | 100:dbcd3bc51758 | 34 | #endif /* CONFIGSYNC_H */ |