Files
MeshCoreTel-firmware/src/helpers/IdentityStore.h
T
2025-09-06 14:15:40 +10:00

38 خطوط
1.0 KiB
C++

#pragma once
#if defined(ESP32) || defined(RP2040_PLATFORM)
#include <FS.h>
#define FILESYSTEM fs::FS
#elif defined(NRF52_PLATFORM) || defined(STM32_PLATFORM)
#if defined(SPIFLASH)
#include <CustomLFS_SPIFlash.h>
#define FILESYSTEM CustomLFS_SPIFlash
#elif defined(EXTRAFS)
#include <CustomLFS.h>
#define FILESYSTEM CustomLFS
#else
#include <Adafruit_LittleFS.h>
#define FILESYSTEM Adafruit_LittleFS
using namespace Adafruit_LittleFS_Namespace;
#endif
#endif
#include <Identity.h>
class IdentityStore {
FILESYSTEM* _fs;
const char* _dir;
public:
IdentityStore(FILESYSTEM& fs, const char* dir): _fs(&fs), _dir(dir) { }
void begin() {
if (_dir && _dir[0] == '/') { _fs->mkdir(_dir); }
}
bool load(const char *name, mesh::LocalIdentity& id);
bool load(const char *name, mesh::LocalIdentity& id, char display_name[], int max_name_sz);
bool save(const char *name, const mesh::LocalIdentity& id);
bool save(const char *name, const mesh::LocalIdentity& id, const char display_name[]);
};