6#include <QtCore/QGlobalStatic>
25 return _firmwarePluginManagerInstance();
30 if (_supportedFirmwareClasses.isEmpty()) {
33 _supportedFirmwareClasses.append(factory->supportedFirmwareClasses());
38 return _supportedFirmwareClasses;
43 QList<QGCMAVLink::VehicleClass_t> vehicleClasses;
53 qCWarning(FirmwarePluginManagerLog) <<
"Request for unknown firmware plugin factory" << firmwareClass;
56 return vehicleClasses;
69 if (!_genericFirmwarePlugin) {
72 plugin = _genericFirmwarePlugin;
83 if (factory->supportedFirmwareClasses().contains(firmwareClass)) {
Q_GLOBAL_STATIC(FirmwarePluginManager, _firmwarePluginManagerInstance)
#define QGC_LOGGING_CATEGORY(name, categoryStr)
static FirmwarePluginFactoryRegister * instance()
QList< FirmwarePluginFactory * > pluginFactories() const
virtual QList< QGCMAVLink::VehicleClass_t > supportedVehicleClasses() const
virtual FirmwarePlugin * firmwarePluginForAutopilot(MAV_AUTOPILOT autopilotType, MAV_TYPE vehicleType)=0
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)
FirmwarePluginManager(QObject *parent=nullptr)
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()
static constexpr const FirmwareClass_t FirmwareClassGeneric
static constexpr const VehicleClass_t VehicleClassGeneric
static QList< VehicleClass_t > allVehicleClasses(void)