QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
FirmwarePluginFactory.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QList>
4
5#include "QGCMAVLink.h"
6
8
9class FirmwarePluginFactory : public QObject
10{
11 Q_OBJECT
12
13public:
14 explicit FirmwarePluginFactory(QObject *parent = nullptr);
15 virtual ~FirmwarePluginFactory();
16
21 virtual FirmwarePlugin *firmwarePluginForAutopilot(MAV_AUTOPILOT autopilotType, MAV_TYPE vehicleType) = 0;
22
24 virtual QList<QGCMAVLink::FirmwareClass_t> supportedFirmwareClasses() const = 0;
25
27 virtual QList<QGCMAVLink::VehicleClass_t> supportedVehicleClasses() const { return QGCMAVLink::allVehicleClasses(); }
28};
29
30/*===========================================================================*/
31
32class FirmwarePluginFactoryRegister : public QObject
33{
34 Q_OBJECT
35
36public:
38
40 void registerPluginFactory(FirmwarePluginFactory *pluginFactory) { _factoryList.append(pluginFactory); }
41
42 QList<FirmwarePluginFactory*> pluginFactories() const { return _factoryList; }
43
44private:
45 QList<FirmwarePluginFactory*> _factoryList;
46};
static FirmwarePluginFactoryRegister * instance()
void registerPluginFactory(FirmwarePluginFactory *pluginFactory)
Registers the specified logging category to the system.
QList< FirmwarePluginFactory * > pluginFactories() const
virtual QList< QGCMAVLink::FirmwareClass_t > supportedFirmwareClasses() const =0
virtual QList< QGCMAVLink::VehicleClass_t > supportedVehicleClasses() const
virtual FirmwarePlugin * firmwarePluginForAutopilot(MAV_AUTOPILOT autopilotType, MAV_TYPE vehicleType)=0
The FirmwarePlugin class represents the methods and objects which are specific to a certain Firmware ...