roo_transceivers
API Documentation for roo_transceivers
Loading...
Searching...
No Matches
roo_transceivers::TransceiverCollection Class Reference

#include <transceiver_collection.h>

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

Data Structures

struct  Entry
 Entry pairing a device locator with a transceiver instance. More...
 

Public Member Functions

 TransceiverCollection ()=default
 Creates an empty collection.
 
 TransceiverCollection (std::vector< Entry > transceivers)
 Creates a collection and registers the provided transceivers.
 
void add (const DeviceLocator &locator, Transceiver *device)
 Registers a transceiver under locator.
 
bool remove (const DeviceLocator &locator)
 Removes transceiver identified by locator.
 
size_t deviceCount () const override
 Returns the total number of transceiver devices in this universe.
 
bool forEachDevice (std::function< bool(const DeviceLocator &)> callback) const override
 Iterates over device locators.
 
bool getDeviceDescriptor (const DeviceLocator &locator, roo_transceivers_Descriptor &descriptor) const override
 Retrieves descriptor for a registered transceiver.
 
Measurement read (const SensorLocator &locator) const override
 Returns latest known measurement for locator.
 
bool write (const ActuatorLocator &locator, float value) override
 Writes to the addressed actuator.
 
void requestUpdate () override
 Requests sensor reading update from underlying devices.
 
virtual void addEventListener (EventListener *listener)
 Registers a listener for device-set and reading update events.
 
virtual void removeEventListener (EventListener *listener)
 Removes a previously registered event listener.
 
void devicesChanged () override
 Called when the set of devices changes.
 
void newReadingsAvailable () override
 Called when new readings are available.
 
- Public Member Functions inherited from roo_transceivers::Universe
virtual ~Universe ()=default
 
- Public Member Functions inherited from roo_transceivers::EventListener
virtual ~EventListener ()=default
 

Detailed Description

Definition at line 23 of file transceiver_collection.h.

Constructor & Destructor Documentation

◆ TransceiverCollection() [1/2]

roo_transceivers::TransceiverCollection::TransceiverCollection ( )
default

Creates an empty collection.

◆ TransceiverCollection() [2/2]

roo_transceivers::TransceiverCollection::TransceiverCollection ( std::vector< Entry transceivers)
inline

Creates a collection and registers the provided transceivers.

Definition at line 35 of file transceiver_collection.h.

References add().

Member Function Documentation

◆ add()

void roo_transceivers::TransceiverCollection::add ( const DeviceLocator locator,
Transceiver device 
)
inline

Registers a transceiver under locator.

Fails hard on duplicate locator.

Definition at line 44 of file transceiver_collection.h.

References roo_transceivers::Transceiver::addEventListener().

Referenced by TransceiverCollection().

◆ addEventListener()

virtual void roo_transceivers::TransceiverCollection::addEventListener ( EventListener listener)
inlinevirtual

Registers a listener for device-set and reading update events.

Reimplemented from roo_transceivers::Universe.

Definition at line 114 of file transceiver_collection.h.

◆ deviceCount()

size_t roo_transceivers::TransceiverCollection::deviceCount ( ) const
inlineoverridevirtual

Returns the total number of transceiver devices in this universe.

Implements roo_transceivers::Universe.

Definition at line 63 of file transceiver_collection.h.

◆ devicesChanged()

void roo_transceivers::TransceiverCollection::devicesChanged ( )
inlineoverridevirtual

Called when the set of devices changes.

Reimplemented from roo_transceivers::EventListener.

Definition at line 122 of file transceiver_collection.h.

◆ forEachDevice()

bool roo_transceivers::TransceiverCollection::forEachDevice ( std::function< bool(const DeviceLocator &)>  callback) const
inlineoverridevirtual

Iterates over device locators.

Callback returning false interrupts iteration and this method returns false. Returning true continues iteration.

Implements roo_transceivers::Universe.

Definition at line 69 of file transceiver_collection.h.

◆ getDeviceDescriptor()

bool roo_transceivers::TransceiverCollection::getDeviceDescriptor ( const DeviceLocator locator,
roo_transceivers_Descriptor descriptor 
) const
inlineoverridevirtual

Retrieves descriptor for a registered transceiver.

Returns false when locator is unknown.

Implements roo_transceivers::Universe.

Definition at line 80 of file transceiver_collection.h.

◆ newReadingsAvailable()

void roo_transceivers::TransceiverCollection::newReadingsAvailable ( )
inlineoverridevirtual

Called when new readings are available.

Reimplemented from roo_transceivers::EventListener.

Definition at line 128 of file transceiver_collection.h.

◆ read()

Measurement roo_transceivers::TransceiverCollection::read ( const SensorLocator locator) const
inlineoverridevirtual

Returns latest known measurement for locator.

Unknown device or sensor returns initial/unspecified measurement.

Implements roo_transceivers::Universe.

Definition at line 92 of file transceiver_collection.h.

References roo_transceivers::SensorLocator::device_locator(), and roo_transceivers::SensorLocator::sensor_id().

◆ remove()

bool roo_transceivers::TransceiverCollection::remove ( const DeviceLocator locator)
inline

Removes transceiver identified by locator.

Returns true if an entry was removed.

Definition at line 53 of file transceiver_collection.h.

◆ removeEventListener()

virtual void roo_transceivers::TransceiverCollection::removeEventListener ( EventListener listener)
inlinevirtual

Removes a previously registered event listener.

Reimplemented from roo_transceivers::Universe.

Definition at line 118 of file transceiver_collection.h.

◆ requestUpdate()

void roo_transceivers::TransceiverCollection::requestUpdate ( )
inlineoverridevirtual

Requests sensor reading update from underlying devices.

Implements roo_transceivers::Universe.

Definition at line 108 of file transceiver_collection.h.

◆ write()

bool roo_transceivers::TransceiverCollection::write ( const ActuatorLocator locator,
float  value 
)
inlineoverridevirtual

Writes to the addressed actuator.

Returns false when target device/actuator is unknown or write fails.

Implements roo_transceivers::Universe.

Definition at line 101 of file transceiver_collection.h.

References roo_transceivers::ActuatorLocator::actuator_id(), and roo_transceivers::ActuatorLocator::device_locator().


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