25 lines
799 B
C++
25 lines
799 B
C++
#pragma once
|
|
#include "NodeContext.h"
|
|
#include <ESP8266WiFi.h>
|
|
|
|
class NetworkManager {
|
|
public:
|
|
NetworkManager(NodeContext& ctx);
|
|
void setupWiFi();
|
|
void setHostnameFromMac();
|
|
void startWiFiScan();
|
|
void updateWiFiScan();
|
|
bool isWiFiScanning() const;
|
|
void processScanResults(int networksFound);
|
|
void initTasks(); // Initialize tasks after TaskManager is ready // Public method to process scan results
|
|
|
|
private:
|
|
NodeContext& ctx;
|
|
bool wifiScanInProgress;
|
|
unsigned long wifiScanStartTime;
|
|
static const unsigned long WIFI_SCAN_TIMEOUT_MS = 10000; // 10 seconds timeout
|
|
static const char* const WIFI_SCAN_MONITOR_TASK; // Task name for WiFi scan monitoring
|
|
|
|
void onWiFiScanComplete(int networksFound); // Keep private for internal use
|
|
};
|