Skip to content
Snippets Groups Projects
QGCToolbox.cc 3.77 KiB
Newer Older
  • Learn to ignore specific revisions
  •  /****************************************************************************
     *
     *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
     *
     * QGroundControl is licensed according to the terms in the file
     * COPYING.md in the root of the source code directory.
     *
     ****************************************************************************/
    
    Don Gagne's avatar
    Don Gagne committed
    #include "AutoPilotPluginManager.h"
    #include "FactSystem.h"
    #include "FirmwarePluginManager.h"
    
    #include "FlightMapSettings.h"
    
    Don Gagne's avatar
    Don Gagne committed
    #include "GAudioOutput.h"
    
    Don Gagne's avatar
    Don Gagne committed
    #endif
    
    #include "HomePositionManager.h"
    #include "JoystickManager.h"
    
    Don Gagne's avatar
    Don Gagne committed
    #include "LinkManager.h"
    #include "MAVLinkProtocol.h"
    
    #include "MissionCommandTree.h"
    
    Don Gagne's avatar
    Don Gagne committed
    #include "MultiVehicleManager.h"
    
    dogmaphobic's avatar
    dogmaphobic committed
    #include "QGCImageProvider.h"
    
    Don Gagne's avatar
    Don Gagne committed
    #include "UASMessageHandler.h"
    
    dogmaphobic's avatar
    dogmaphobic committed
    #include "QGCMapEngineManager.h"
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
    #include "FollowMe.h"
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
    #include "PositionManager.h"
    
    
    QGCToolbox::QGCToolbox(QGCApplication* app)
    
    Don Gagne's avatar
    Don Gagne committed
        : _audioOutput(NULL)
    
        , _autopilotPluginManager(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
        , _factSystem(NULL)
        , _firmwarePluginManager(NULL)
    
        , _flightMapSettings(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
    #ifndef __mobile__
    
    Don Gagne's avatar
    Don Gagne committed
        , _gpsManager(NULL)
    #endif
    
        , _homePositionManager(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
        , _imageProvider(NULL)
    
        , _joystickManager(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
        , _linkManager(NULL)
        , _mavlinkProtocol(NULL)
    
        , _missionCommandTree(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
        , _multiVehicleManager(NULL)
    
    dogmaphobic's avatar
    dogmaphobic committed
        , _mapEngineManager(NULL)
    
        , _uasMessageHandler(NULL)
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        , _followMe(NULL)
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        , _qgcPositionManager(NULL)
    
    Don Gagne's avatar
    Don Gagne committed
        _audioOutput =              new GAudioOutput(app);
    
        _autopilotPluginManager =   new AutoPilotPluginManager(app);
    
    Don Gagne's avatar
    Don Gagne committed
        _factSystem =               new FactSystem(app);
        _firmwarePluginManager =    new FirmwarePluginManager(app);
    
        _flightMapSettings =        new FlightMapSettings(app);
    
    Don Gagne's avatar
    Don Gagne committed
    #endif
    
        _homePositionManager =      new HomePositionManager(app);
    
    Don Gagne's avatar
    Don Gagne committed
        _imageProvider =            new QGCImageProvider(app);
        _joystickManager =          new JoystickManager(app);
    
        _linkManager =              new LinkManager(app);
        _mavlinkProtocol =          new MAVLinkProtocol(app);
    
        _missionCommandTree =       new MissionCommandTree(app);
    
    Don Gagne's avatar
    Don Gagne committed
        _multiVehicleManager =      new MultiVehicleManager(app);
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        _mapEngineManager =         new QGCMapEngineManager(app);
    
        _uasMessageHandler =        new UASMessageHandler(app);
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        _qgcPositionManager =       new QGCPositionManager(app);
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        _followMe =                 new FollowMe(app);
    
    Don Gagne's avatar
    Don Gagne committed
        _audioOutput->setToolbox(this);
    
        _autopilotPluginManager->setToolbox(this);
    
    Don Gagne's avatar
    Don Gagne committed
        _factSystem->setToolbox(this);
        _firmwarePluginManager->setToolbox(this);
    
        _flightMapSettings->setToolbox(this);
    
    Don Gagne's avatar
    Don Gagne committed
    #endif
    
        _homePositionManager->setToolbox(this);
    
    Don Gagne's avatar
    Don Gagne committed
        _imageProvider->setToolbox(this);
        _joystickManager->setToolbox(this);
    
        _linkManager->setToolbox(this);
        _mavlinkProtocol->setToolbox(this);
    
        _missionCommandTree->setToolbox(this);
    
    Don Gagne's avatar
    Don Gagne committed
        _multiVehicleManager->setToolbox(this);
    
    dogmaphobic's avatar
    dogmaphobic committed
        _mapEngineManager->setToolbox(this);
    
        _uasMessageHandler->setToolbox(this);
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        _followMe->setToolbox(this);
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        _qgcPositionManager->setToolbox(this);
    
    }
    
    QGCToolbox::~QGCToolbox()
    {
    
    Don Gagne's avatar
    Don Gagne committed
        delete _audioOutput;
    
        delete _autopilotPluginManager;
    
    Don Gagne's avatar
    Don Gagne committed
        delete _factSystem;
        delete _firmwarePluginManager;
    
        delete _flightMapSettings;
        delete _homePositionManager;
        delete _joystickManager;
    
    Don Gagne's avatar
    Don Gagne committed
        delete _linkManager;
        delete _mavlinkProtocol;
    
        delete _missionCommandTree;
    
    dogmaphobic's avatar
    dogmaphobic committed
        delete _mapEngineManager;
    
    Don Gagne's avatar
    Don Gagne committed
        delete _multiVehicleManager;
    
        delete _uasMessageHandler;
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        delete _followMe;
    
    Jimmy Johnson's avatar
    Jimmy Johnson committed
        delete _qgcPositionManager;
    
    }
    
    QGCTool::QGCTool(QGCApplication* app)
        : QObject((QObject*)app)
        , _app(app)
        , _toolbox(NULL)
    {
    
    }
    
    void QGCTool::setToolbox(QGCToolbox* toolbox)
    {
        _toolbox = toolbox;
    }