QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
qgssensormanager.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssensormanager.h
3 ------------------
4 Date : March 2023
5 Copyright : (C) 2023 Mathieu Pellerin
6 Email : mathieu at opengis dot ch
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSSENSORMANAGER_H
17#define QGSSENSORMANAGER_H
18
19#include "qgis.h"
20#include "qgis_core.h"
21#include "qgis_sip.h"
22#include "qgsabstractsensor.h"
23
24#include <QDomElement>
25#include <QObject>
26
27class QgsProject;
28
41class CORE_EXPORT QgsSensorManager : public QObject
42{
43 Q_OBJECT
44
45 public:
49 explicit QgsSensorManager( QObject *parent SIP_TRANSFERTHIS = nullptr );
50
51 ~QgsSensorManager() override;
52
56 void clear();
57
61 QList<QgsAbstractSensor *> sensors() const;
62
67 QgsAbstractSensor *sensor( const QString &id ) const;
68
78
83 bool removeSensor( const QString &id );
84
88 QStringList sensorNames() const;
89
93 QgsAbstractSensor::SensorData sensorData( const QString &name ) const;
94
98 QMap<QString, QgsAbstractSensor::SensorData> sensorsData() const;
99
105 bool readXml( const QDomElement &element, const QDomDocument &document );
106
111 QDomElement writeXml( QDomDocument &document ) const;
112
113 signals:
114
116 void sensorAdded( const QString &id );
117
119 void sensorAboutToBeRemoved( const QString &id );
120
122 void sensorRemoved( const QString &id );
123
125 void sensorNameChanged( const QString &id );
126
128 void sensorStatusChanged( const QString &id );
129
131 void sensorDataCaptured( const QString &id );
132
134 void sensorErrorOccurred( const QString &id );
135
136 private slots:
137
138 void handleSensorNameChanged();
139 void handleSensorStatusChanged();
140 void captureSensorData();
141 void handleSensorErrorOccurred( const QString &errorMessage );
142
143 private:
144 QList<QgsAbstractSensor *> mSensors;
145 QMap<QString, QgsAbstractSensor::SensorData> mSensorsData;
146};
147
148#endif // QGSSENSORMANAGER_H
An abstract base class for sensors.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:113
void addSensor(QgsAbstractSensor *sensor)
Registers a new sensor.
void sensorRemoved(const QString &id)
Emitted when a sensor has been removed.
bool removeSensor(const QString &id)
Removes a registered sensor matching a given id.
void sensorErrorOccurred(const QString &id)
Emitted when a sensor error has occurred.
QgsSensorManager(QObject *parent=nullptr)
Constructor for QgsSensorManager, with the specified parent object.
QMap< QString, QgsAbstractSensor::SensorData > sensorsData() const
Returns the last captured data of all registered sensors.
void sensorNameChanged(const QString &id)
Emitted when a sensor name has changed.
QList< QgsAbstractSensor * > sensors() const
Returns a list of pointers to all registered sensors.
void sensorDataCaptured(const QString &id)
Emitted when newly captured data from a sensor has occurred.
QDomElement writeXml(QDomDocument &document) const
Returns a DOM element representing the state of the manager.
QgsAbstractSensor * sensor(const QString &id) const
Returns a registered sensor pointer matching a given id.
QStringList sensorNames() const
Returns a list of registered sensor names.
QgsAbstractSensor::SensorData sensorData(const QString &name) const
Returns the last captured data from a registered sensor matching a given name.
void clear()
Deregisters and removes all sensors from the manager.
void sensorAdded(const QString &id)
Emitted when a sensor has been registered.
void sensorAboutToBeRemoved(const QString &id)
Emitted when a sensor is about to be removed.
void sensorStatusChanged(const QString &id)
Emitted when a sensor status has changed.
bool readXml(const QDomElement &element, const QDomDocument &document)
Reads the manager's state from a DOM element, restoring all sensors present in the XML document.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:52
#define SIP_TRANSFER
Definition qgis_sip.h:35
Contains details of a sensor data capture.