Add asynchronous connection in ISimulator/CSimulatorFSX

refs #231
This commit is contained in:
Roland Winklmeier
2014-05-06 13:22:36 +02:00
committed by Roland Winklmeier
parent 5498b449ac
commit de75c5c35a
4 changed files with 45 additions and 1 deletions

View File

@@ -15,6 +15,7 @@
#include <QObject>
#include <QtPlugin>
#include <QHash>
#include <QFutureWatcher>
#ifndef NOMINMAX
#define NOMINMAX
@@ -82,6 +83,9 @@ namespace BlackSimPlugin
//! \copydoc ISimulator::connectTo()
virtual bool connectTo() override;
//! \copydoc ISimulator::asyncConnectTo()
virtual void asyncConnectTo() override;
//! \copydoc ISimulator::disconnectFrom()
virtual bool disconnectFrom() override;
@@ -134,6 +138,9 @@ namespace BlackSimPlugin
//! \brief Dispatch SimConnect messages
void dispatch();
//! \brief Called when asynchronous connection to Simconnect has finished
void connectToFinished();
private:
struct SimConnectObject
@@ -167,6 +174,8 @@ namespace BlackSimPlugin
QHash<BlackMisc::Aviation::CCallsign, SimConnectObject> m_simConnectObjects;
int m_simconnectTimerId;
QFutureWatcher<bool> m_watcherConnect;
};
}