5#include "roo_collections/flat_small_hash_map.h"
6#include "roo_collections/flat_small_hash_set.h"
7#include "roo_logging.h"
36 std::function<
bool(
const DeviceLocator&)> callback)
const = 0;
Identifies actuator within a transceiver device.
Identifies a transceiver device by schema and device id.
Listener for universe-level change notifications.
Measurement of a quantity at a specific time.
Identifies sensor within a transceiver device.
An abstract collection of transceiver devices.
virtual bool write(const ActuatorLocator &locator, float value)=0
Writes to the actuator identified by locator.
virtual Measurement read(const SensorLocator &locator) const =0
Returns the latest known reading of the sensor identified by locator.
virtual void removeEventListener(EventListener *listener)
Removes a previously registered event listener.
virtual size_t deviceCount() const =0
Returns the total number of transceiver devices in this universe.
virtual bool getDeviceDescriptor(const DeviceLocator &locator, roo_transceivers_Descriptor &descriptor) const =0
Retrieves the descriptor for the transceiver identified by locator.
virtual ~Universe()=default
virtual void requestUpdate()=0
Requests sensor reading update from underlying devices.
virtual bool forEachDevice(std::function< bool(const DeviceLocator &)> callback) const =0
Iterates over all transceiver devices in this universe, calling callback for each device.
virtual void addEventListener(EventListener *listener)
Registers a listener for device-set and reading update events.