refactor: implement all core services
This commit is contained in:
@@ -23,6 +23,25 @@ public:
|
||||
void processAccessPoints();
|
||||
std::vector<AccessPoint> getAccessPoints() const;
|
||||
|
||||
// WiFi configuration methods
|
||||
void setWiFiConfig(const String& ssid, const String& password,
|
||||
uint32_t connect_timeout_ms = 10000,
|
||||
uint32_t retry_delay_ms = 500);
|
||||
|
||||
// Network status methods
|
||||
bool isConnected() const { return WiFi.isConnected(); }
|
||||
String getSSID() const { return WiFi.SSID(); }
|
||||
IPAddress getLocalIP() const { return WiFi.localIP(); }
|
||||
String getMacAddress() const { return WiFi.macAddress(); }
|
||||
String getHostname() const { return WiFi.hostname(); }
|
||||
int32_t getRSSI() const { return WiFi.RSSI(); }
|
||||
WiFiMode_t getMode() const { return WiFi.getMode(); }
|
||||
|
||||
// AP mode specific methods
|
||||
IPAddress getAPIP() const { return WiFi.softAPIP(); }
|
||||
String getAPMacAddress() const { return WiFi.softAPmacAddress(); }
|
||||
uint8_t getConnectedStations() const { return WiFi.softAPgetStationNum(); }
|
||||
|
||||
private:
|
||||
NodeContext& ctx;
|
||||
std::vector<AccessPoint> accessPoints;
|
||||
|
||||
22
include/NetworkService.h
Normal file
22
include/NetworkService.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
#include "Service.h"
|
||||
#include "NetworkManager.h"
|
||||
#include "NodeContext.h"
|
||||
|
||||
class NetworkService : public Service {
|
||||
public:
|
||||
NetworkService(NetworkManager& networkManager);
|
||||
void registerEndpoints(ApiServer& api) override;
|
||||
const char* getName() const override { return "Network"; }
|
||||
|
||||
private:
|
||||
NetworkManager& networkManager;
|
||||
|
||||
// WiFi scanning endpoints
|
||||
void handleWifiScanRequest(AsyncWebServerRequest* request);
|
||||
void handleGetWifiNetworks(AsyncWebServerRequest* request);
|
||||
|
||||
// Network status endpoints
|
||||
void handleNetworkStatus(AsyncWebServerRequest* request);
|
||||
void handleSetWifiConfig(AsyncWebServerRequest* request);
|
||||
};
|
||||
@@ -1,17 +0,0 @@
|
||||
#pragma once
|
||||
#include "Service.h"
|
||||
#include "NetworkManager.h"
|
||||
#include "NodeContext.h"
|
||||
|
||||
class WifiScanService : public Service {
|
||||
public:
|
||||
WifiScanService(NetworkManager& networkManager);
|
||||
void registerEndpoints(ApiServer& api) override;
|
||||
const char* getName() const override { return "WifiScan"; }
|
||||
|
||||
private:
|
||||
NetworkManager& networkManager;
|
||||
|
||||
void handleScanRequest(AsyncWebServerRequest* request);
|
||||
void handleGetAccessPoints(AsyncWebServerRequest* request);
|
||||
};
|
||||
Reference in New Issue
Block a user