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 "MAVLinkEnums.h"
4
5#include <QtCore/QObject>
6
7class FactMetaData;
8class Vehicle;
10class CompInfoGeneral;
11
14class CompInfo : public QObject
15{
16 Q_OBJECT
17
18public:
19 CompInfo(COMP_METADATA_TYPE type_, uint8_t compId_, Vehicle* vehicle_, QObject* parent = nullptr);
20
21 const QString& uriMetaData() const { return _uris.uriMetaData; }
22 const QString& uriMetaDataFallback() const { return _uris.uriMetaDataFallback; }
23 const QString& uriTranslation() const { return _uris.uriTranslation; }
24
25 uint32_t crcMetaData() const { return _uris.crcMetaData; }
26 uint32_t crcMetaDataFallback() const { return _uris.crcMetaDataFallback; }
27 bool crcMetaDataValid() const { return _uris.crcMetaDataValid; }
28 bool crcMetaDataFallbackValid() const { return _uris.crcMetaDataFallbackValid; }
29
30 void setUriMetaData(const QString& uri, uint32_t crc);
31
32 virtual void setJson(const QString& metaDataJsonFileName) = 0;
33
34 bool available() const { return !_uris.uriMetaData.isEmpty(); }
35
36 const COMP_METADATA_TYPE type;
37 Vehicle* const vehicle = nullptr;
38 const uint8_t compId = MAV_COMP_ID_ALL;
39
40private:
41 friend class CompInfoGeneral;
42
43 struct Uris {
44 bool crcMetaDataValid = false;
45 bool crcMetaDataFallbackValid = false;
46
47 uint32_t crcMetaData = 0;
48 uint32_t crcMetaDataFallback = 0;
49
50 QString uriMetaData;
51 QString uriMetaDataFallback;
52 QString uriTranslation;
53 QString uriTranslationFallback;
54 };
55
56 Uris _uris;
57};
Base class for all CompInfo types.
Definition CompInfo.h:15
const COMP_METADATA_TYPE type
Definition CompInfo.h:36
const QString & uriMetaData() const
Definition CompInfo.h:21
Vehicle *const vehicle
Definition CompInfo.h:37
virtual void setJson(const QString &metaDataJsonFileName)=0
const QString & uriTranslation() const
Definition CompInfo.h:23
uint32_t crcMetaData() const
Definition CompInfo.h:25
void setUriMetaData(const QString &uri, uint32_t crc)
Definition CompInfo.cc:12
const uint8_t compId
Definition CompInfo.h:38
uint32_t crcMetaDataFallback() const
Definition CompInfo.h:26
bool crcMetaDataValid() const
Definition CompInfo.h:27
const QString & uriMetaDataFallback() const
Definition CompInfo.h:22
bool available() const
Definition CompInfo.h:34
bool crcMetaDataFallbackValid() const
Definition CompInfo.h:28
Holds the meta data associated with a Fact.
The FirmwarePlugin class represents the methods and objects which are specific to a certain Firmware ...