diff --git a/src/blackcore/simulator.h b/src/blackcore/simulator.h index 548e806a0..df9c4d71b 100644 --- a/src/blackcore/simulator.h +++ b/src/blackcore/simulator.h @@ -51,15 +51,6 @@ namespace BlackCore //! Destructor virtual ~ISimulator() {} - //! Are we connected to the simulator? - virtual bool isConnected() const = 0; - - //! Simulator paused? - virtual bool isPaused() const = 0; - - //! Simulator running? - virtual bool isSimulating() const = 0; - //! Combined status virtual int getSimulatorStatus() const; @@ -206,6 +197,15 @@ namespace BlackCore //! Default constructor ISimulator(QObject *parent = nullptr) : QObject(parent) {} + //! Are we connected to the simulator? + virtual bool isConnected() const = 0; + + //! Simulator paused? + virtual bool isPaused() const = 0; + + //! Simulator running? + virtual bool isSimulating() const = 0; + //! Add new remote aircraft physically to the simulator //! \sa changeRemoteAircraftEnabled to hide a remote aircraft virtual bool physicallyAddRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft) = 0; diff --git a/src/plugins/simulator/fs9/simulator_fs9.h b/src/plugins/simulator/fs9/simulator_fs9.h index f8be8723b..f1ef9930b 100644 --- a/src/plugins/simulator/fs9/simulator_fs9.h +++ b/src/plugins/simulator/fs9/simulator_fs9.h @@ -48,12 +48,6 @@ namespace BlackSimPlugin //! Destructor virtual ~CSimulatorFs9() = default; - //! \copydoc ISimulator::isConnected() - virtual bool isConnected() const override; - - //! \copydoc ISimulator::isSimulating - virtual bool isSimulating() const override { return isConnected(); } - //! \copydoc ISimulator::connectTo() virtual bool connectTo() override; @@ -88,6 +82,12 @@ namespace BlackSimPlugin virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override; protected: + //! \copydoc ISimulator::isConnected() + virtual bool isConnected() const override; + + //! \copydoc ISimulator::isSimulating + virtual bool isSimulating() const override { return isConnected(); } + //! Timer event virtual void timerEvent(QTimerEvent *event); diff --git a/src/plugins/simulator/fsx/simulator_fsx.h b/src/plugins/simulator/fsx/simulator_fsx.h index 9210f760e..bb5e8023c 100644 --- a/src/plugins/simulator/fsx/simulator_fsx.h +++ b/src/plugins/simulator/fsx/simulator_fsx.h @@ -83,12 +83,6 @@ namespace BlackSimPlugin //! Destructor virtual ~CSimulatorFsx(); - //! \copydoc ISimulator::isConnected() - virtual bool isConnected() const override; - - //! \copydoc ISimulator::isSimulating - virtual bool isSimulating() const override; - //! SimConnect Callback static void CALLBACK SimConnectProc(SIMCONNECT_RECV *pData, DWORD cbData, void *pContext); @@ -135,6 +129,12 @@ namespace BlackSimPlugin void setSimConnectObjectID(DWORD requestID, DWORD objectID); protected: + //! \copydoc ISimulator::isConnected() + virtual bool isConnected() const override; + + //! \copydoc ISimulator::isSimulating + virtual bool isSimulating() const override; + //! Timer event (our SimConnect event loop), runs \sa ps_dispatch //! \sa m_simconnectTimerId virtual void timerEvent(QTimerEvent *event) override; diff --git a/src/plugins/simulator/xplane/simulator_xplane.h b/src/plugins/simulator/xplane/simulator_xplane.h index 044b18553..9cf119dec 100644 --- a/src/plugins/simulator/xplane/simulator_xplane.h +++ b/src/plugins/simulator/xplane/simulator_xplane.h @@ -38,18 +38,9 @@ namespace BlackSimPlugin BlackMisc::Simulation::IRemoteAircraftProvider *remoteAircraftProvider, QObject *parent = nullptr); - //! \copydoc BlackCore::ISimulator::isConnected - virtual bool isConnected() const override; - //! \copydoc ISimulator::isTimeSynchronized virtual bool isTimeSynchronized() const override { return false; } // TODO: Can we query the XP intrinisc feature? - //! \copydoc ISimulator::isSimPaused - virtual bool isPaused() const override { return false; } - - //! \copydoc ISimulator::isSimulating - virtual bool isSimulating() const override { return isConnected(); } - //! \copydoc BlackCore::ISimulator::getIcaoForModelString virtual BlackMisc::Aviation::CAircraftIcaoData getIcaoForModelString(const QString &modelString) const override; @@ -120,6 +111,20 @@ namespace BlackSimPlugin //! \copydoc CSimulatorCommon::ps_remoteProviderRemovedAircraft virtual void ps_remoteProviderRemovedAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; + protected: + //! \copydoc BlackCore::ISimulator::isConnected + virtual bool isConnected() const override; + + //! \copydoc ISimulator::isSimPaused + virtual bool isPaused() const override + { + //! \todo XP: provide correct pause state + return false; + } + + //! \copydoc ISimulator::isSimulating + virtual bool isSimulating() const override { return isConnected(); } + private slots: void ps_serviceUnregistered(); void ps_setAirportsInRange(const QStringList &icaoCodes, const QStringList &names, const BlackMisc::CSequence &lats, const BlackMisc::CSequence &lons, const BlackMisc::CSequence &alts);