feat: implement HttpHandler and WifiHandler classes for HTTP client management

This commit is contained in:
GW_MC
2026-01-19 20:42:45 +08:00
parent 1d12dc5160
commit 89e8014798
4 changed files with 138 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
#pragma once
#include <memory>
#include "freertos/FreeRTOS.h"
#include "esp_system.h"
#include "network/wifi_handler.h"
#include "esp_http_client.h"
// forward declare HttpHandler to avoid circular include with http_handler.h
class HttpHandler;
class NetworkHandler {
public:
NetworkHandler(
WifiHandler&& wifiHandler
);
~NetworkHandler();
void init(EventGroupHandle_t system_event_group);
WifiHandler& get_wifi_handler();
// factory method to create HttpHandler instances
std::unique_ptr<HttpHandler> get_http_handler(const esp_http_client_config_t&& config);
private:
WifiHandler wifiHandler;
bool initialized = false;
};