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().