supla-device
Loading...
Searching...
No Matches
littlefs_config.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_STORAGE_LITTLEFS_CONFIG_H_
5#define SRC_SUPLA_STORAGE_LITTLEFS_CONFIG_H_
6
7#ifndef SUPLA_EXCLUDE_LITTLEFS_CONFIG
8
9#define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 1024
10
11#include "key_value.h"
12
13namespace Supla {
14
15class LittleFsConfig : public KeyValue {
16 public:
17 explicit LittleFsConfig(int configMaxSize = SUPLA_LITTLEFS_CONFIG_BUF_SIZE);
18 virtual ~LittleFsConfig();
19 bool init() override;
20 void commit() override;
21 void removeAll() override;
22
23 bool getCustomCA(char* result, int maxSize) override;
24 int getCustomCASize() override;
25 bool setCustomCA(const char* customCA) override;
26 bool getMqttCA(char* result, int maxSize) override;
27 int getMqttCASize() override;
28 bool setMqttCA(const char* mqttCA) override;
29
30 // override blob storage to use separate file for each value
31 bool setBlob(const char* key, const char* value, size_t blobSize) override;
32 bool getBlob(const char* key, char* value, size_t blobSize) override;
33 bool eraseKey(const char* key) override;
34
35 protected:
36 int getBlobSize(const char* key) override;
37 bool initLittleFs();
38 int configMaxSize = SUPLA_LITTLEFS_CONFIG_BUF_SIZE;
39};
40}; // namespace Supla
41
42#endif // SUPLA_EXCLUDE_LITTLEFS_CONFIG
43#endif // SRC_SUPLA_STORAGE_LITTLEFS_CONFIG_H_
Definition key_value.h:17
Definition littlefs_config.h:15