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
33
36
39
41 QList<QGCMAVLink::VehicleClass_t> supportedVehicleClasses(QGCMAVLink::FirmwareClass_t firmwareClass);
42
47 FirmwarePlugin *firmwarePluginForAutopilot(MAV_AUTOPILOT firmwareType, MAV_TYPE vehicleType);
48
49private:
50 FirmwarePluginFactory *_findPluginFactory(QGCMAVLink::FirmwareClass_t firmwareClass);
51
52 FirmwarePlugin *_genericFirmwarePlugin = nullptr;
53 QList<QGCMAVLink::FirmwareClass_t> _supportedFirmwareClasses;
54};
FirmwarePluginManager is a singleton which is used to return the correct FirmwarePlugin for a MAV_AUT...
bool firmwareClassSupported(QGCMAVLink::FirmwareClass_t firmwareClass)
Returns true if the specified firmware class is supported by the system.
~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.
bool singleFirmwareSupport()
Returns true if the system supports only a single firmware class.
bool singleVehicleSupport()
Returns true if the system supports only a single firmware class with a single vehicle type.
static FirmwarePluginManager * instance()
The FirmwarePlugin class represents the methods and objects which are specific to a certain Firmware ...