CombinedNetworkConfigProvider class final
#include <net/network_config_provider.hpp>
Combines the primary routed interface snapshot with optional host-side service interfaces.
Base classes
- class INetworkConfigProvider
- Provides current IPv4 netif configuration for lwIP and PPPoS bootstrap values.
Public static variables
- static size_t kMaxEthernetLikeConfigs constexpr
Constructors, destructors, conversion operators
- CombinedNetworkConfigProvider(IPrimaryNetifConfigProvider& primary_provider) explicit
Public functions
-
auto register_eth_config(std::string iface_name,
const cfg::
EthConfigSection* eth_config) -> bool - Registers Ethernet config section under caller-specified interface name.
-
auto register_usb_config(std::string iface_name,
const cfg::
UsbConfigSection* usb_config) -> bool - Registers USB config section under caller-specified interface name.
-
void set_eth_config(const cfg::
EthConfigSection* eth_config) -
void set_pool_manager(pool::
Ipv4PoolManager* pool_manager) -
void set_ppp_config(const cfg::
PppConfigSection* ppp_config) -
void set_routing_config(const cfg::
RoutingConfigSection* routing_config) -
void set_usb_config(const cfg::
UsbConfigSection* usb_config) - auto snapshot_ipv4_config(Ipv4NetifConfig* netif_cfg, std::span<EthernetLikeConfigSnapshot> eth_like_cfgs, size_t* out_eth_like_count, PppIpv4Config* ppp_cfg) -> bool override
- Captures current networking config snapshot.
Function documentation
bool prf:: net:: CombinedNetworkConfigProvider:: snapshot_ipv4_config(Ipv4NetifConfig* netif_cfg,
std::span<EthernetLikeConfigSnapshot> eth_like_cfgs,
size_t* out_eth_like_count,
PppIpv4Config* ppp_cfg) override
Captures current networking config snapshot.
| Parameters | |
|---|---|
| netif_cfg | Output npX/lwIP netif config. |
| eth_like_cfgs | Output list for Ethernet-like interfaces (us0, et1, ...). |
| out_eth_like_count | Number of valid entries written to eth_like_cfgs. |
| ppp_cfg | Output PPP local and peer addressing config. |
| Returns | true when snapshot was produced successfully. Individual interface validity is carried inside output structs. |