API Documentation
Loading...
Searching...
No Matches
GNSSManager.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/SoftwareService.h>
4#include <NDEVR/PositionSensor.h>
5namespace NDEVR
6{
7 /**--------------------------------------------------------------------------------------------------
8 \brief A GNSS role describes how the user wants to use a particular GNSS Device. For example: A role
9 might be used for travese or orientation, or a front or rear measurement point.
10 **/
11 struct GNSSRole
12 {
14 : role(role)
15 , id(id)
16 {}
19 };
20 /**--------------------------------------------------------------------------------------------------
21 \brief A GNSS interface provides logic for finding available GNSS devices.
22 **/
24 {
25 public:
26 virtual UUID uuid() const = 0;
27 virtual PositionSensor* getGNSSDevice(const UUID& id) = 0;
29 };
30 /**--------------------------------------------------------------------------------------------------
31 \brief A storage class for GNSSInterface that allows the software to specify roles, or find and assign
32 GNSS devices.
33 **/
50}
#define HARDWARE_API
Definition DLLInfo.h:56
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
A GNSS interface provides logic for finding available GNSS devices.
Definition GNSSManager.h:24
virtual PositionSensor * getGNSSDevice(const UUID &id)=0
virtual UUID uuid() const =0
virtual Buffer< PositionSensor * > availableGNSSDevices() const =0
A storage class for GNSSInterface that allows the software to specify roles, or find and assign GNSS ...
Definition GNSSManager.h:35
Dictionary< UUID, GNSSInterface * > m_interfaces
Definition GNSSManager.h:47
PositionSensor * getGNSSDevice(const UUID &id) const
Buffer< GNSSRole > m_gnss_roles
Definition GNSSManager.h:48
Buffer< GNSSRole > availableRoles() const
void addGNSSRole(const GNSSRole &role)
void addGNSSInterface(GNSSInterface *)
Buffer< PositionSensor * > availableGNSSDevices() const
void removeGNSSInteface(const UUID &id)
static GNSSManager & DefaultInstance()
A position sensor is a Device that determines the position of Hardware. This device might be a GPS or...
Definition PositionSensor.h:53
Software Services provide an interface for adding to or changing the software behavior via functional...
Definition SoftwareService.h:9
Software Service Managers take a Software service to modify the behavior of the software.
Definition SoftwareService.h:15
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Definition TranslatedString.h:13
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
Definition ACIColor.h:37
A GNSS role describes how the user wants to use a particular GNSS Device. For example: A role might b...
Definition GNSSManager.h:12
GNSSRole(UUID id, const TranslatedString &role)
Definition GNSSManager.h:13
UUID id
Definition GNSSManager.h:18
TranslatedString role
Definition GNSSManager.h:17