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

Universe that mirrors a remote universe via a bidirectional channel. More...

#include <client.h>

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

Data Structures

struct  DeviceEntry
 

Public Member Functions

 UniverseClient (UniverseClientChannel &channel)
 
 ~UniverseClient ()
 
void begin ()
 
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.
 
void addEventListener (EventListener *listener) override
 Registers a listener for device-set and reading update events.
 
void removeEventListener (EventListener *listener) override
 Removes a previously registered event listener.
 
- Public Member Functions inherited from roo_transceivers::Universe
virtual ~Universe ()=default
 

Detailed Description

Universe that mirrors a remote universe via a bidirectional channel.

Definition at line 32 of file client.h.

Constructor & Destructor Documentation

◆ UniverseClient()

◆ ~UniverseClient()

roo_transceivers::UniverseClient::~UniverseClient ( )

Member Function Documentation

◆ addEventListener()

void roo_transceivers::UniverseClient::addEventListener ( EventListener listener)
overridevirtual

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

Reimplemented from roo_transceivers::Universe.

Definition at line 127 of file client.cpp.

◆ begin()

void roo_transceivers::UniverseClient::begin ( )

◆ deviceCount()

size_t roo_transceivers::UniverseClient::deviceCount ( ) const
overridevirtual

Returns the total number of transceiver devices in this universe.

Implements roo_transceivers::Universe.

Definition at line 30 of file client.cpp.

◆ forEachDevice()

bool roo_transceivers::UniverseClient::forEachDevice ( std::function< bool(const DeviceLocator &)>  callback) const
overridevirtual

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 35 of file client.cpp.

◆ getDeviceDescriptor()

bool roo_transceivers::UniverseClient::getDeviceDescriptor ( const DeviceLocator locator,
roo_transceivers_Descriptor descriptor 
) const
overridevirtual

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 78 of file client.cpp.

◆ read()

Measurement roo_transceivers::UniverseClient::read ( const SensorLocator locator) const
overridevirtual

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 89 of file client.cpp.

References roo_transceivers::SensorLocator::device_locator().

◆ removeEventListener()

void roo_transceivers::UniverseClient::removeEventListener ( EventListener listener)
overridevirtual

Removes a previously registered event listener.

Reimplemented from roo_transceivers::Universe.

Definition at line 132 of file client.cpp.

◆ requestUpdate()

void roo_transceivers::UniverseClient::requestUpdate ( )
overridevirtual

Requests sensor reading update from underlying devices.

Implements roo_transceivers::Universe.

Definition at line 123 of file client.cpp.

References roo_transceivers::proto::ClientRequestUpdate(), and roo_transceivers::UniverseClientChannel::sendClientMessage().

◆ write()

bool roo_transceivers::UniverseClient::write ( const ActuatorLocator locator,
float  value 
)
overridevirtual

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 102 of file client.cpp.

References roo_transceivers::proto::ClientWrite(), roo_transceivers::ActuatorLocator::device_locator(), and roo_transceivers::UniverseClientChannel::sendClientMessage().


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