Files
nuki_hub/networkDevices/WifiDevice.h
Luca Oliano 77f0498493 Merge branch 'master' into refactor_network_devices
# Conflicts:
#	networkDevices/EthLan8720Device.cpp
#	networkDevices/W5500Device.cpp
2024-02-10 17:35:54 +01:00

45 lines
1011 B
C++

#pragma once
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <Preferences.h>
#include "NetworkDevice.h"
#include "WiFiManager.h"
#include "espMqttClient.h"
#include "IPConfiguration.h"
class WifiDevice : public NetworkDevice
{
public:
WifiDevice(const String& hostname, Preferences* preferences, const IPConfiguration* ipConfiguration);
const String deviceName() const override;
virtual void initialize();
virtual void reconfigure();
virtual ReconnectStatus reconnect();
bool supportsEncryption() override;
virtual bool isConnected();
int8_t signalStrength() override;
String localIP() override;
private:
static void clearRtcInitVar(WiFiManager*);
void onDisconnected();
WiFiManager _wm;
Preferences* _preferences = nullptr;
bool _restartOnDisconnect = false;
bool _startAp = false;
char* _path;
char _ca[TLS_CA_MAX_SIZE] = {0};
char _cert[TLS_CERT_MAX_SIZE] = {0};
char _key[TLS_KEY_MAX_SIZE] = {0};
};