NVProperty generic key value store using the MCU flash area.

Dependents:   Turtle_RadioShuttle

Committer:
Helmut Tschemernjak
Date:
Thu Jan 24 14:28:11 2019 +0100
Revision:
1:3a8297ad8cd9
Added new files

Who changed what in which revision?

UserRevisionLine numberNew 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__