#ifndef ESP32_STORAGE_HPP
#define ESP32_STORAGE_HPP
#include "Preferences.h"
#include "SPIFFS.h"
#include "FirewallTypes.h"
#include "mbedtls/md.h"
#include "SSLCert.hpp"
namespace firewall
{
class Storage
private:
Preferences memory;
void mount_spiffs();
protected:
uint8_t retrieve_settings_value(const char *);
void store_settings_value(const char *, const uint8_t);
firewall_rule_t *retrieve_firewall_rule(const uint8_t);
void store_firewall_rule(firewall_rule_t *);
httpsserver::SSLCert *retrieve_certificate();
void store_certificate(httpsserver::SSLCert *certificate);
public:
Storage();
~Storage();
};
}
#endif