PicoScenes API Docs
 
Loading...
Searching...
No Matches
AbstractHALConfiguration.hxx
Go to the documentation of this file.
1//
2// Created by Zhiping Jiang on 12/26/19.
3//
4
5#ifndef PICOSCENES_PLATFORM_ABSTRACTHALCONFIGURATION_HXX
6#define PICOSCENES_PLATFORM_ABSTRACTHALCONFIGURATION_HXX
7
8#include "BoostHeaders.hxx"
9
10class AbstractNIC;
11
20public:
25 explicit AbstractHALConfiguration(const std::shared_ptr<AbstractNIC> &nic) : nic(nic) {}
26
34 virtual void applyConfiguration(const pt::ptree &config) = 0;
35
43 virtual std::shared_ptr<po::options_description> getHALOptions() = 0;
44
52 virtual void parseAndExecuteCommands(const std::string &command) = 0;
53
54protected:
61 std::shared_ptr<AbstractNIC> nic;
62};
63
64#endif //PICOSCENES_PLATFORM_ABSTRACTHALCONFIGURATION_HXX
Abstract base class for Hardware Abstraction Layer (HAL) configuration.
virtual std::shared_ptr< po::options_description > getHALOptions()=0
Get the available HAL options for this hardware.
virtual void parseAndExecuteCommands(const std::string &command)=0
Parse and execute hardware-specific commands.
std::shared_ptr< AbstractNIC > nic
Protected member storing the network interface card instance.
virtual void applyConfiguration(const pt::ptree &config)=0
Apply configuration settings to the hardware.
AbstractHALConfiguration(const std::shared_ptr< AbstractNIC > &nic)
Constructor for AbstractHALConfiguration.
Abstract base class for Network Interface Card (NIC) operations.