QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
FirmwarePluginManager.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4
5#include "QGCMAVLink.h"
6
9
12class FirmwarePluginManager : public QObject
13{
14 Q_OBJECT
15
16public:
19 explicit FirmwarePluginManager(QObject *parent = nullptr);
20
23
27
29 QList<QGCMAVLink::FirmwareClass_t> supportedFirmwareClasses();
30
32 QList<QGCMAVLink::VehicleClass_t> supportedVehicleClasses(QGCMAVLink::FirmwareClass_t firmwareClass);
33
38 FirmwarePlugin *firmwarePluginForAutopilot(MAV_AUTOPILOT firmwareType, MAV_TYPE vehicleType);
39
40private:
41 FirmwarePluginFactory *_findPluginFactory(QGCMAVLink::FirmwareClass_t firmwareClass);
42
43 FirmwarePlugin *_genericFirmwarePlugin = nullptr;
44 QList<QGCMAVLink::FirmwareClass_t> _supportedFirmwareClasses;
45};
FirmwarePluginManager is a singleton which is used to return the correct FirmwarePlugin for a MAV_AUT...
~FirmwarePluginManager()
Destructor for the FirmwarePluginManager class.
FirmwarePlugin * firmwarePluginForAutopilot(MAV_AUTOPILOT firmwareType, MAV_TYPE vehicleType)
QList< QGCMAVLink::FirmwareClass_t > supportedFirmwareClasses()
Returns list of firmwares which are supported by the system.
QList< QGCMAVLink::VehicleClass_t > supportedVehicleClasses(QGCMAVLink::FirmwareClass_t firmwareClass)
Returns the list of supported vehicle types for the specified firmware.
static FirmwarePluginManager * instance()
The FirmwarePlugin class represents the methods and objects which are specific to a certain Firmware ...