3#include <NDEVR/SoftwareService.h>
4#include <NDEVR/PositionSensor.h>
The equivelent of std::vector but with a bit more control.
A hash-based key-value store, useful for quick associative lookups.
A GNSS interface provides logic for finding available GNSS devices.
virtual PositionSensor * getGNSSDevice(const UUID &id)=0
Returns the GNSS device matching the given identifier.
virtual Buffer< PositionSensor * > availableGNSSDevices() const =0
Returns all GNSS devices currently available through this interface.
virtual UUID uuid() const =0
Returns the unique identifier for this GNSS interface.
Buffer< PositionSensor * > availableGNSSDevices() const
Returns all GNSS devices available across all registered interfaces.
Dictionary< UUID, GNSSInterface * > m_interfaces
Map of interface UUIDs to their GNSSInterface pointers.
void addGNSSRole(const GNSSRole &role)
Registers a new GNSS role that devices can be assigned to.
void removeGNSSInterface(const UUID &id)
Removes a previously registered GNSS interface.
Buffer< GNSSRole > availableRoles() const
Returns all currently registered GNSS roles.
Buffer< GNSSRole > m_gnss_roles
The list of registered GNSS roles.
PositionSensor * getGNSSDevice(const UUID &id) const
Returns the GNSS device matching the given identifier across all interfaces.
static GNSSManager & DefaultInstance()
Returns the singleton GNSSManager instance.
void addGNSSInterface(GNSSInterface *)
Registers a GNSS interface with this manager.
Forward declaration for distance encoder device.
Software Service Managers take a Software service to modify the behavior of the software.
Base interface for services that extend or modify software behavior through modules.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
A GNSS role describes how the user wants to use a particular GNSS Device.
TranslatedString role
The display name describing this GNSS role.
UUID id
The unique identifier for this role.