5#ifndef FORESTHUB_PLATFORM_PLATFORM_HPP
6#define FORESTHUB_PLATFORM_PLATFORM_HPP
38 const char*
host =
nullptr;
49 std::shared_ptr<NetworkInterface>
network;
50 std::shared_ptr<ConsoleInterface>
console;
51 std::shared_ptr<TimeInterface>
time;
52 std::shared_ptr<CryptoInterface>
crypto;
53 std::shared_ptr<GpioInterface>
gpio;
Holds all platform subsystems and provides a factory for HTTP clients.
Definition platform.hpp:47
virtual std::shared_ptr< core::HttpClient > CreateHttpClient(const HttpClientConfig &config)=0
Create a platform-specific HTTP client.
std::shared_ptr< ConsoleInterface > console
Console I/O subsystem.
Definition platform.hpp:50
std::shared_ptr< TimeInterface > time
Time and delay subsystem.
Definition platform.hpp:51
std::shared_ptr< NetworkInterface > network
Network connectivity subsystem.
Definition platform.hpp:49
std::shared_ptr< CryptoInterface > crypto
TLS/crypto subsystem.
Definition platform.hpp:52
std::shared_ptr< GpioInterface > gpio
GPIO pin I/O subsystem (nullptr if FORESTHUB_ENABLE_GPIO not defined).
Definition platform.hpp:53
Abstract interface for console I/O.
Abstract interfaces for TLS/crypto operations.
Abstract interface for general-purpose pin I/O and PWM.
Abstract HTTP client interface and response type.
Client and provider configuration types.
Top-level namespace for the ForestHub SDK.
Abstract interface for network connectivity.
Abstract interface for time operations and synchronization.