PicoScenes API Docs
 
Loading...
Searching...
No Matches
MAC80211CSIExtractableNIC Class Reference

#include <MAC80211CSIExtractableNIC.hxx>

Inheritance diagram for MAC80211CSIExtractableNIC:
Collaboration diagram for MAC80211CSIExtractableNIC:

Public Member Functions

const std::string & getDevId () const
 
const std::string & getMonId () const
 
uint16_t getPhyIdNumber () const
 
const std::string & getPhyPath () const
 
const std::array< uint8_t, 6 > & getMacAddressMon () const
 
const std::array< uint8_t, 6 > & getMacAddressDev () const
 
const std::shared_ptr< MAC80211CSIExtractableFrontEnd > & getMacFrontEnd () const
 
- Public Member Functions inherited from AbstractNIC
virtual void startTxService ()=0
 
virtual void stopTxService ()=0
 
virtual void pauseTx ()=0
 
virtual void resumeTx ()=0
 
virtual bool isTxServiceStarted () const =0
 
virtual int transmitPicoScenesFrame (const ModularPicoScenesTxFrame &frame)=0
 
virtual int transmitPicoScenesFrameSync (const ModularPicoScenesTxFrame &frame)=0
 
virtual int transmitFramesInBatch (const std::vector< ModularPicoScenesTxFrame > &frames, uint16_t numRepeats)=0
 
template<int repeat = 1, typename ... Frames, typename = std::enable_if_t<(std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame *> &&...) || (std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame> &&...) || ((std::is_same_v<std::remove_cvref_t<Frames>, std::shared_ptr<ModularPicoScenesTxFrame>> || std::is_same_v<std::remove_cvref_t<Frames>, std::unique_ptr<ModularPicoScenesTxFrame>>) &&...)>>
int transmitFramesInBatch (Frames &&... frames)
 
virtual ModularPicoScenesTxFrame initializeTxFrame ()
 
virtual void startRxService ()=0
 
virtual void stopRxService ()=0
 
virtual void pauseRx ()=0
 
virtual void resumeRx ()=0
 
virtual bool isRxServiceStarted () const =0
 
virtual std::optional< ModularPicoScenesRxFrame > syncRxConditionally (const std::function< bool(const ModularPicoScenesRxFrame &)> &condition, const std::chrono::milliseconds &maxWait_ms, std::optional< std::string > conditionaName=std::nullopt)=0
 
virtual std::optional< ModularPicoScenesRxFrame > syncRxWaitTaskId (uint16_t taskid, uint32_t maxWait_ms)=0
 
virtual void registerTaskIdHandler (uint16_t taskId, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getHandlerForFrameType (uint8_t frameType)=0
 
virtual void unregisterTaskIdHandler (uint16_t taskId)=0
 
virtual bool checkTaskIdHandlerExist (uint16_t taskId)=0
 
virtual void registerFrameTypeHandler (uint8_t frameType, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getHandlerForTaskId (uint16_t taskId)=0
 
virtual void unregisterFrameTypeHandler (uint8_t frameType)=0
 
virtual bool checkFrameTypeHandlerExist (uint8_t frameType)=0
 
virtual void registerGeneralHandler (const std::string &handlerKeyName, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getGeneralHandler (const std::string &handlerKeyName)=0
 
virtual void unregisterGeneralHandler (const std::string &handlerKeyName)=0
 
virtual bool checkGeneralHandlerExist (const std::string &handlerKeyName)=0
 
const std::string & getReferredInterfaceName () const
 
const std::string & getPhyId () const
 
const std::shared_ptr< AbstractFrontEnd > & getFrontEnd () const
 
virtual const PicoScenesFrameTxParameters & getUserSpecifiedTxParameters () const =0
 This methods returns the PicoScenesFrameTxParameters object created by the user specified Tx parameters.
.
 
virtual PicoScenesFrameTxParameters & getUserSpecifiedTxParameters ()=0
 This methods returns the PicoScenesFrameTxParameters object created by the user specified Tx parameters.
.
 
PicoScenesDeviceType getDeviceType () const
 
std::shared_ptr< AbstractHALConfigurationgetConfiguration () const
 
template<typename FrontEndT , class = std::enable_if_t<std::is_base_of_v<AbstractFrontEnd, FrontEndT>>>
std::shared_ptr< FrontEndT > getTypedFrontEnd () const
 
const std::shared_ptr< PicoScenesPluginManager > & getPluginManager () const
 
virtual void installPlugins () const =0
 
std::vector< std::shared_ptr< po::options_description > > getAllNICOptions ()
 

Static Public Member Functions

static std::shared_ptr< MAC80211CSIExtractableNICgetNICInstance (const std::string &referredInterfaceName)
 

Protected Member Functions

 MAC80211CSIExtractableNIC (const std::string &referredInterfaceName)
 
- Protected Member Functions inherited from AbstractNIC
 AbstractNIC (const std::string &referredInterfaceName)
 

Protected Attributes

std::string devId
 
std::string monId
 
uint16_t phyIdNumber
 
std::string phyPath
 
std::shared_ptr< MAC80211CSIExtractableFrontEndmacFrontEnd
 
std::array< uint8_t, 6 > macAddress_MON {}
 
std::array< uint8_t, 6 > macAddress_DEV {}
 
- Protected Attributes inherited from AbstractNIC
std::string referredInterfaceName
 
std::string phyId
 
PicoScenesDeviceType deviceType = PicoScenesDeviceType::Unknown
 
std::shared_ptr< AbstractHALConfigurationconfiguration
 
std::shared_ptr< AbstractFrontEndfrontEnd
 
std::shared_ptr< PicoScenesPluginManagerpluginManager
 

Detailed Description

Definition at line 12 of file MAC80211CSIExtractableNIC.hxx.

Constructor & Destructor Documentation

◆ MAC80211CSIExtractableNIC()

MAC80211CSIExtractableNIC::MAC80211CSIExtractableNIC ( const std::string &  referredInterfaceName)
explicitprotected

Member Function Documentation

◆ getDevId()

const std::string & MAC80211CSIExtractableNIC::getDevId ( ) const

◆ getMacAddressDev()

const std::array< uint8_t, 6 > & MAC80211CSIExtractableNIC::getMacAddressDev ( ) const

◆ getMacAddressMon()

const std::array< uint8_t, 6 > & MAC80211CSIExtractableNIC::getMacAddressMon ( ) const

◆ getMacFrontEnd()

const std::shared_ptr< MAC80211CSIExtractableFrontEnd > & MAC80211CSIExtractableNIC::getMacFrontEnd ( ) const

◆ getMonId()

const std::string & MAC80211CSIExtractableNIC::getMonId ( ) const

◆ getNICInstance()

static std::shared_ptr< MAC80211CSIExtractableNIC > MAC80211CSIExtractableNIC::getNICInstance ( const std::string &  referredInterfaceName)
static

◆ getPhyIdNumber()

uint16_t MAC80211CSIExtractableNIC::getPhyIdNumber ( ) const

◆ getPhyPath()

const std::string & MAC80211CSIExtractableNIC::getPhyPath ( ) const

Member Data Documentation

◆ devId

std::string MAC80211CSIExtractableNIC::devId
protected

Definition at line 32 of file MAC80211CSIExtractableNIC.hxx.

◆ macAddress_DEV

std::array<uint8_t, 6> MAC80211CSIExtractableNIC::macAddress_DEV {}
protected

Definition at line 39 of file MAC80211CSIExtractableNIC.hxx.

◆ macAddress_MON

std::array<uint8_t, 6> MAC80211CSIExtractableNIC::macAddress_MON {}
protected

Definition at line 38 of file MAC80211CSIExtractableNIC.hxx.

◆ macFrontEnd

std::shared_ptr<MAC80211CSIExtractableFrontEnd> MAC80211CSIExtractableNIC::macFrontEnd
protected

Definition at line 36 of file MAC80211CSIExtractableNIC.hxx.

◆ monId

std::string MAC80211CSIExtractableNIC::monId
protected

Definition at line 33 of file MAC80211CSIExtractableNIC.hxx.

◆ phyIdNumber

uint16_t MAC80211CSIExtractableNIC::phyIdNumber
protected

Definition at line 34 of file MAC80211CSIExtractableNIC.hxx.

◆ phyPath

std::string MAC80211CSIExtractableNIC::phyPath
protected

Definition at line 35 of file MAC80211CSIExtractableNIC.hxx.


The documentation for this class was generated from the following file: