From 74b6bb9756879de897ed1e18834a4b7a413b2fa2 Mon Sep 17 00:00:00 2001 From: Roland Winklmeier Date: Fri, 8 May 2015 14:03:41 +0200 Subject: [PATCH] refs #409 Move FS specific methods into FSX and FS9 driver The reason for this change is, that the information these methods provide are similar for FS9 and FSX, but the content is different. --- src/plugins/simulator/fs9/simulator_fs9.cpp | 15 +++++++++++++++ src/plugins/simulator/fs9/simulator_fs9.h | 7 +++++++ src/plugins/simulator/fsx/simulator_fsx.cpp | 20 ++++++++++++++++++++ src/plugins/simulator/fsx/simulator_fsx.h | 7 +++++++ 4 files changed, 49 insertions(+) diff --git a/src/plugins/simulator/fs9/simulator_fs9.cpp b/src/plugins/simulator/fs9/simulator_fs9.cpp index 0705065e6..27b5fb41d 100644 --- a/src/plugins/simulator/fs9/simulator_fs9.cpp +++ b/src/plugins/simulator/fs9/simulator_fs9.cpp @@ -300,6 +300,21 @@ namespace BlackSimPlugin } } + QString CSimulatorFs9::aircraftObjectsDir() + { + QString dir = CFsCommonUtil::fs9AircraftDirFromRegistry(); + if (!dir.isEmpty()) { return dir; } + return "C:/Flight Simulator 9/Aircraft"; + } + + const QStringList &CSimulatorFs9::excludeDirectories() + { + static const QStringList exclude + { + }; + return exclude; + } + CSimulatorFs9Listener::CSimulatorFs9Listener(QObject *parent) : BlackCore::ISimulatorListener(parent), m_timer(new QTimer(this)) diff --git a/src/plugins/simulator/fs9/simulator_fs9.h b/src/plugins/simulator/fs9/simulator_fs9.h index 968efd99c..71e73ea8c 100644 --- a/src/plugins/simulator/fs9/simulator_fs9.h +++ b/src/plugins/simulator/fs9/simulator_fs9.h @@ -107,6 +107,13 @@ namespace BlackSimPlugin void disconnectAllClients(); + //! Aircraft object directory + //! \todo Read from settings if registry fails + static QString aircraftObjectsDir(); + + //! Do not include the following directories for FS + static const QStringList &excludeDirectories(); + QHash> m_hashFs9Clients; QMetaObject::Connection m_connectionHostMessages; int m_dispatchTimerId = -1; diff --git a/src/plugins/simulator/fsx/simulator_fsx.cpp b/src/plugins/simulator/fsx/simulator_fsx.cpp index 2fba2012f..cda3fb2e1 100644 --- a/src/plugins/simulator/fsx/simulator_fsx.cpp +++ b/src/plugins/simulator/fsx/simulator_fsx.cpp @@ -852,6 +852,26 @@ namespace BlackSimPlugin } } + QString CSimulatorFsx::simObjectsDir() + { + QString dir = CFsCommonUtil::fsxSimObjectsDirFromRegistry(); + if (!dir.isEmpty()) { return dir; } + return "P:/FlightSimulatorX (MSI)/SimObjects"; + // "p:/temp/SimObjects" + } + + const QStringList &CSimulatorFsx::excludeDirectories() + { + static const QStringList exclude + { + "SimObjects/Animals", + "SimObjects/Misc", + "SimObjects/GroundVehicles", + "SimObjects/Boats" + }; + return exclude; + } + CSimulatorFsxListener::CSimulatorFsxListener(QObject *parent) : ISimulatorListener(parent), m_timer(new QTimer(this)) { diff --git a/src/plugins/simulator/fsx/simulator_fsx.h b/src/plugins/simulator/fsx/simulator_fsx.h index ac3d405c8..969d7debd 100644 --- a/src/plugins/simulator/fsx/simulator_fsx.h +++ b/src/plugins/simulator/fsx/simulator_fsx.h @@ -185,6 +185,13 @@ namespace BlackSimPlugin //! Sync time with user's computer void synchronizeTime(const BlackMisc::PhysicalQuantities::CTime &zuluTimeSim, const BlackMisc::PhysicalQuantities::CTime &localTimeSim); + //! SimObjects directory + //! \todo Read from settings if registry fails + static QString simObjectsDir(); + + //! Do not include the following directories for FS + static const QStringList &excludeDirectories(); + static const int SkipUpdateCyclesForCockpit = 10; //!< skip x cycles before updating cockpit again bool m_simConnected = false; //!< Is simulator connected? bool m_simSimulating = false; //!< Simulator running?