swift
simulatorplugincommon.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_SIMPLUGIN_COMMON_SIMULATORPLUGINCOMMON_H
7 #define SWIFT_SIMPLUGIN_COMMON_SIMULATORPLUGINCOMMON_H
8 
9 #include <QObject>
10 #include <QPointer>
11 
12 #include "core/simulator.h"
14 
15 namespace swift::gui::components
16 {
17  class CInterpolationLogDisplayDialog;
18 }
19 namespace swift::simplugin::common
20 {
23  {
24  Q_OBJECT
25  Q_INTERFACES(swift::core::ISimulator)
28 
29  public:
31  virtual ~CSimulatorPluginCommon() override;
32 
33  // --------- ISimulator implementations ------------
34  virtual void unload() override;
35  virtual bool disconnectFrom() override;
36 
37  protected:
41  swift::misc::simulation::IRemoteAircraftProvider *renderedAircraftProvider,
42  swift::misc::network::IClientProvider *clientProvider, QObject *parent = nullptr);
43 
48  virtual bool parseDetails(const swift::misc::CSimpleCommandParser &parser) override;
49 
51  static void registerHelp();
52 
53  private:
55  void showInterpolationDisplay();
56 
58  void deleteInterpolationDisplay();
59 
60  QPointer<swift::gui::components::CInterpolationLogDisplayDialog>
61  m_interpolationDisplayDialog;
62  };
63 } // namespace swift::simplugin::common
64 
65 #endif // SWIFT_SIMPLUGIN_COMMON_SIMULATORPLUGINCOMMON_H
Interface to a simulator.
Definition: simulator.h:59
Utility methods for simple line parsing used with the command line.
Direct in memory access to client (network client) data.
Direct in memory access to interpolation setup, normally implemented by simulator.
Direct threadsafe in memory access to own aircraft.
Direct thread safe in memory access to remote aircraft.
Common base class for simulator plugins.
High level reusable GUI components.
Definition: aboutdialog.cpp:13
#define SIMULATORPLUGINCOMMON_EXPORT
SimulatorPluginCommon Export Macro.