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

Universe that combines multiple other universes into one. More...

#include <multiverse.h>

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

Public Member Functions

 Multiverse (std::vector< Universe * > universes)
 
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 all transceiver devices in this universe, calling callback for each device.
 
bool getDeviceDescriptor (const DeviceLocator &locator, roo_transceivers_Descriptor &descriptor) const override
 Retrieves the descriptor for the transceiver identified by locator.
 
Measurement read (const SensorLocator &locator) const override
 Returns the latest known reading of the sensor identified by locator.
 
bool write (const ActuatorLocator &locator, float value) override
 Writes to the actuator identified by locator.
 
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

Universe that combines multiple other universes into one.

Definition at line 8 of file multiverse.h.

Constructor & Destructor Documentation

◆ Multiverse()

roo_transceivers::Multiverse::Multiverse ( std::vector< Universe * >  universes)
inline

Definition at line 10 of file multiverse.h.

Member Function Documentation

◆ addEventListener()

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

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

Reimplemented from roo_transceivers::Universe.

Definition at line 65 of file multiverse.h.

◆ deviceCount()

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

Returns the total number of transceiver devices in this universe.

Implements roo_transceivers::Universe.

Definition at line 17 of file multiverse.h.

◆ devicesChanged()

void roo_transceivers::Multiverse::devicesChanged ( )
inlineoverridevirtual

Called when the set of devices changes.

Reimplemented from roo_transceivers::EventListener.

Definition at line 73 of file multiverse.h.

◆ forEachDevice()

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

Iterates over all transceiver devices in this universe, calling callback for each device.

Callback return value controls iteration:

  • true => continue iterating,
  • false => interrupt iteration.

Returns true if iteration completed (callback returned true for all devices), and false if interrupted by callback.

Implements roo_transceivers::Universe.

Definition at line 25 of file multiverse.h.

◆ getDeviceDescriptor()

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

Retrieves the descriptor for the transceiver identified by locator.

Returns true on success; false when the device is not found.

Implements roo_transceivers::Universe.

Definition at line 33 of file multiverse.h.

◆ newReadingsAvailable()

void roo_transceivers::Multiverse::newReadingsAvailable ( )
inlineoverridevirtual

Called when new readings are available.

Reimplemented from roo_transceivers::EventListener.

Definition at line 79 of file multiverse.h.

◆ read()

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

Returns the latest known reading of the sensor identified by locator.

If device/sensor is not found, returned measurement is initial (isInitial() == true).

Implements roo_transceivers::Universe.

Definition at line 42 of file multiverse.h.

References roo_transceivers::Measurement::quantity(), and roo_transceivers_Quantity_kUnspecifiedQuantity.

◆ removeEventListener()

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

Removes a previously registered event listener.

Reimplemented from roo_transceivers::Universe.

Definition at line 69 of file multiverse.h.

◆ requestUpdate()

void roo_transceivers::Multiverse::requestUpdate ( )
inlineoverridevirtual

Requests sensor reading update from underlying devices.

Implements roo_transceivers::Universe.

Definition at line 59 of file multiverse.h.

◆ write()

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

Writes to the actuator identified by locator.

Returns true on success; false if locator is invalid or not found, or if write fails.

Implements roo_transceivers::Universe.

Definition at line 52 of file multiverse.h.


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