/**************************************************************************** * * (c) 2009-2019 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * * @file * @brief Custom Firmware Plugin Factory (PX4) * @author Gus Grubba * */ #include "CustomFirmwarePluginFactory.h" #include "CustomFirmwarePlugin.h" CustomFirmwarePluginFactory CustomFirmwarePluginFactoryImp; CustomFirmwarePluginFactory::CustomFirmwarePluginFactory() : _pluginInstance(nullptr) { } QList CustomFirmwarePluginFactory::supportedFirmwareClasses() const { QList firmwareClasses; firmwareClasses.append(QGCMAVLink::FirmwareClassPX4); return firmwareClasses; } QList CustomFirmwarePluginFactory::supportedVehicleClasses(void) const { QList vehicleClasses; vehicleClasses.append(QGCMAVLink::VehicleClassMultiRotor); return vehicleClasses; } FirmwarePlugin* CustomFirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTOPILOT autopilotType, MAV_TYPE /*vehicleType*/) { if (autopilotType == MAV_AUTOPILOT_PX4) { if (!_pluginInstance) { _pluginInstance = new CustomFirmwarePlugin; } return _pluginInstance; } return nullptr; }