roo_transceivers
API Documentation for roo_transceivers
Loading...
Searching...
No Matches
roo_transceivers::SimpleTransceiver Class Referenceabstract

Transceiver with statically defined descriptor. More...

#include <transceiver_collection.h>

Inheritance diagram for roo_transceivers::SimpleTransceiver:
[legend]
Collaboration diagram for roo_transceivers::SimpleTransceiver:
[legend]

Public Member Functions

 SimpleTransceiver (const TransceiverType *type)
 type must outlive this transceiver.
 
void getDescriptor (roo_transceivers_Descriptor &descriptor) const override
 
Measurement read (const SensorId &sensor) const override
 
bool write (const ActuatorId &actuator, float value) override
 
void addEventListener (EventListener *listener) override
 
void removeEventListener (EventListener *listener) override
 
- Public Member Functions inherited from roo_transceivers::Transceiver
 Transceiver ()=default
 
virtual ~Transceiver ()=default
 
virtual void requestUpdate ()
 

Protected Member Functions

virtual Measurement readFromSensor (int idx) const =0
 Reads sensor by validated descriptor index.
 
virtual bool writeToActuator (int idx, float value)=0
 Writes actuator by validated descriptor index.
 
void notifyNewReadingsAvailable () const
 

Protected Attributes

const TransceiverTypetype_
 
roo_collections::FlatSmallHashSet< EventListener * > event_listeners_
 

Detailed Description

Transceiver with statically defined descriptor.

Provides default implementations with input validation and listener management.

Definition at line 178 of file transceiver_collection.h.

Constructor & Destructor Documentation

◆ SimpleTransceiver()

roo_transceivers::SimpleTransceiver::SimpleTransceiver ( const TransceiverType type)
inline

type must outlive this transceiver.

Definition at line 181 of file transceiver_collection.h.

Member Function Documentation

◆ addEventListener()

void roo_transceivers::SimpleTransceiver::addEventListener ( EventListener listener)
inlineoverridevirtual

Implements roo_transceivers::Transceiver.

Definition at line 199 of file transceiver_collection.h.

References event_listeners_.

◆ getDescriptor()

void roo_transceivers::SimpleTransceiver::getDescriptor ( roo_transceivers_Descriptor descriptor) const
inlineoverridevirtual

◆ notifyNewReadingsAvailable()

void roo_transceivers::SimpleTransceiver::notifyNewReadingsAvailable ( ) const
inlineprotected

Definition at line 214 of file transceiver_collection.h.

References event_listeners_.

◆ read()

Measurement roo_transceivers::SimpleTransceiver::read ( const SensorId sensor) const
inlineoverridevirtual

◆ readFromSensor()

virtual Measurement roo_transceivers::SimpleTransceiver::readFromSensor ( int  idx) const
protectedpure virtual

Reads sensor by validated descriptor index.

Referenced by read().

◆ removeEventListener()

void roo_transceivers::SimpleTransceiver::removeEventListener ( EventListener listener)
inlineoverridevirtual

Implements roo_transceivers::Transceiver.

Definition at line 203 of file transceiver_collection.h.

References event_listeners_.

◆ write()

bool roo_transceivers::SimpleTransceiver::write ( const ActuatorId actuator,
float  value 
)
inlineoverridevirtual

◆ writeToActuator()

virtual bool roo_transceivers::SimpleTransceiver::writeToActuator ( int  idx,
float  value 
)
protectedpure virtual

Writes actuator by validated descriptor index.

Referenced by write().

Field Documentation

◆ event_listeners_

roo_collections::FlatSmallHashSet<EventListener*> roo_transceivers::SimpleTransceiver::event_listeners_
protected

◆ type_

const TransceiverType* roo_transceivers::SimpleTransceiver::type_
protected

Definition at line 220 of file transceiver_collection.h.

Referenced by getDescriptor(), read(), and write().


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