78class KeyValueElement {
80 explicit KeyValueElement(
const char* keyName);
82 bool isKeyEqual(
const char* keyToCheck);
83 KeyValueElement* getNext();
85 void setNext(KeyValueElement* toBeSet);
86 void add(KeyValueElement* toBeAdded);
88 size_t serialize(uint8_t* destination,
size_t maxSize);
90 bool setString(
const char* value);
91 bool getString(
char* value,
size_t maxSize);
94 bool setBlob(
const char* value,
size_t blobSize);
95 bool getBlob(
char* value,
size_t blobSize);
98 bool getInt8(int8_t* result);
99 bool getUInt8(uint8_t* result);
100 bool getInt32(int32_t* result);
101 bool getUInt32(uint32_t* result);
103 bool setInt8(
const int8_t value);
104 bool setUInt8(
const uint8_t value);
105 bool setInt32(
const int32_t value);
106 bool setUInt32(
const uint32_t value);
109 KeyValueElement* next =
nullptr;
110 char key[SUPLA_STORAGE_KEY_SIZE] = {};
111 enum DataType dataType = DATA_TYPE_NOT_SET;
112 unsigned int size = 0;
114 uint8_t* uint8ptr =
nullptr;