Portal class for managing Network Interface Cards. More...
#include <NICPortal.hxx>
Public Member Functions | |
std::vector< std::shared_ptr< AbstractNIC > > | getAllNICs () |
Get all registered NICs. | |
std::shared_ptr< AbstractNIC > | getNIC (const std::string &referredName) |
Get NIC by interface name. | |
template<typename T , class = std::enable_if_t<std::is_base_of_v<AbstractNIC, T>>> | |
std::shared_ptr< T > | getTypedNIC (const std::string &referredName) |
Get typed NIC by interface name. | |
std::vector< std::shared_ptr< po::options_description > > | getAllHALOptions () |
Get all HAL (Hardware Abstraction Layer) options. | |
Static Public Member Functions | |
static std::shared_ptr< NICPortal > | getInstance () |
Get singleton instance of NICPortal. | |
Portal class for managing Network Interface Cards.
Implements a singleton pattern to provide centralized access to NIC instances. Supports various types of NICs including:
Definition at line 19 of file NICPortal.hxx.
std::vector< std::shared_ptr< po::options_description > > NICPortal::getAllHALOptions | ( | ) |
Get all HAL (Hardware Abstraction Layer) options.
Collects configuration options from both MAC80211 and SDR HAL implementations
std::vector< std::shared_ptr< AbstractNIC > > NICPortal::getAllNICs | ( | ) |
Get all registered NICs.
|
static |
std::shared_ptr< AbstractNIC > NICPortal::getNIC | ( | const std::string & | referredName | ) |
Get NIC by interface name.
referredName | Interface name or device identifier |
std::invalid_argument | if device ID is unresolvable or unsupported |
Automatically creates and registers new NIC instances if not already present. Supports MAC80211 devices, USRP devices, SoapySDR devices, and Virtual SDR devices.
Referenced by getTypedNIC().
|
inline |
Get typed NIC by interface name.
T | Type of NIC (must inherit from AbstractNIC) |
referredName | Interface name or device identifier |
Template method that provides type-safe access to specific NIC implementations
Definition at line 51 of file NICPortal.hxx.
References getNIC().