NVProperty generic key value store using the MCU flash area.
Dependents: Turtle_RadioShuttle
NVPropertyProviderInterface.h@1:3a8297ad8cd9, 2019-01-24 (annotated)
- Committer:
- Helmut Tschemernjak
- Date:
- Thu Jan 24 14:28:11 2019 +0100
- Revision:
- 1:3a8297ad8cd9
Added new files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Helmut Tschemernjak | 1:3a8297ad8cd9 | 1 | /* |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 2 | * This is an unpublished work copyright |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 3 | * (c) 2019 Helmut Tschemernjak |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 4 | * 30826 Garbsen (Hannover) Germany |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 5 | * |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 6 | * |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 7 | * Use is granted to registered RadioShuttle licensees only. |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 8 | * Licensees must own a valid serial number and product code. |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 9 | * Details see: www.radioshuttle.de |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 10 | */ |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 11 | |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 12 | #ifndef __NVPROPERTYPROVIDERINTERFACE__ |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 13 | #define __NVPROPERTYPROVIDERINTERFACE__ |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 14 | |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 15 | class NVPropertyProviderInterface { |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 16 | public: |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 17 | virtual ~NVPropertyProviderInterface() { } |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 18 | |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 19 | virtual int GetProperty(int key) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 20 | virtual int64_t GetProperty64(int key) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 21 | virtual const char *GetPropertyStr(int key) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 22 | virtual int GetPropertyBlob(int key, const void *blob, int *size) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 23 | virtual int SetProperty(int key, int64_t value, int type) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 24 | virtual int SetPropertyStr(int key, const char *str, int type) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 25 | virtual int SetPropertyBlob(int key, const void *blob, int size, int type) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 26 | virtual int EraseProperty(int key) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 27 | virtual int ReorgProperties(void) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 28 | virtual int OpenPropertyStore(bool forWrite = false) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 29 | virtual int ClosePropertyStore(bool flush = false) = 0; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 30 | }; |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 31 | |
Helmut Tschemernjak | 1:3a8297ad8cd9 | 32 | #endif // __NVPROPERTYPROVIDERINTERFACE__ |