QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
CompInfo.h
Go to the documentation of this file.
1#pragma once
2
3#include "MAVLinkLib.h"
4
5#include <QtCore/QObject>
6
7class FactMetaData;
8class Vehicle;
10class CompInfoGeneral;
11
13class CompInfo : public QObject
14{
15 Q_OBJECT
16
17public:
18 CompInfo(COMP_METADATA_TYPE type_, uint8_t compId_, Vehicle* vehicle_, QObject* parent = nullptr);
19
20 const QString& uriMetaData() const { return _uris.uriMetaData; }
21 const QString& uriMetaDataFallback() const { return _uris.uriMetaDataFallback; }
22 const QString& uriTranslation() const { return _uris.uriTranslation; }
23
24 uint32_t crcMetaData() const { return _uris.crcMetaData; }
25 uint32_t crcMetaDataFallback() const { return _uris.crcMetaDataFallback; }
26 bool crcMetaDataValid() const { return _uris.crcMetaDataValid; }
27 bool crcMetaDataFallbackValid() const { return _uris.crcMetaDataFallbackValid; }
28
29 void setUriMetaData(const QString& uri, uint32_t crc);
30
31 virtual void setJson(const QString& metaDataJsonFileName) = 0;
32
33 bool available() const { return !_uris.uriMetaData.isEmpty(); }
34
35 const COMP_METADATA_TYPE type;
36 Vehicle* const vehicle = nullptr;
37 const uint8_t compId = MAV_COMP_ID_ALL;
38
39private:
40 friend class CompInfoGeneral;
41
42 struct Uris {
43 bool crcMetaDataValid = false;
44 bool crcMetaDataFallbackValid = false;
45
46 uint32_t crcMetaData = 0;
47 uint32_t crcMetaDataFallback = 0;
48
49 QString uriMetaData;
50 QString uriMetaDataFallback;
51 QString uriTranslation;
52 QString uriTranslationFallback;
53 };
54
55 Uris _uris;
56};
Base class for all CompInfo types.
Definition CompInfo.h:14
const COMP_METADATA_TYPE type
Definition CompInfo.h:35
const QString & uriMetaData() const
Definition CompInfo.h:20
Vehicle *const vehicle
Definition CompInfo.h:36
virtual void setJson(const QString &metaDataJsonFileName)=0
const QString & uriTranslation() const
Definition CompInfo.h:22
uint32_t crcMetaData() const
Definition CompInfo.h:24
void setUriMetaData(const QString &uri, uint32_t crc)
Definition CompInfo.cc:12
const uint8_t compId
Definition CompInfo.h:37
uint32_t crcMetaDataFallback() const
Definition CompInfo.h:25
bool crcMetaDataValid() const
Definition CompInfo.h:26
const QString & uriMetaDataFallback() const
Definition CompInfo.h:21
bool available() const
Definition CompInfo.h:33
bool crcMetaDataFallbackValid() const
Definition CompInfo.h:27