From 7b9940f1b1c1b26f1e1dab41e0b2e265132db775 Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Mon, 11 May 2020 09:21:26 +0200 Subject: [PATCH] [swift] Code cleanup --- src/AIModel/AISwiftAircraft.cpp | 2 +- src/AIModel/AISwiftAircraft.h | 2 +- src/Network/Swift/SwiftAircraftManager.cpp | 7 ++- src/Network/Swift/SwiftAircraftManager.h | 4 +- src/Network/Swift/swift_connection.hxx | 2 +- src/Network/Swift/traffic.cpp | 52 +++------------------- src/Network/Swift/traffic.h | 28 +----------- 7 files changed, 14 insertions(+), 83 deletions(-) diff --git a/src/AIModel/AISwiftAircraft.cpp b/src/AIModel/AISwiftAircraft.cpp index 082204251..80e090c2e 100644 --- a/src/AIModel/AISwiftAircraft.cpp +++ b/src/AIModel/AISwiftAircraft.cpp @@ -1,4 +1,4 @@ -// AISwiftAircraft.cpp - Derived AIBase class for swift aircrafts +// AISwiftAircraft.cpp - Derived AIBase class for swift aircraft // // Copyright (C) 2020 - swift Project Community / Contributors (http://swift-project.org/) // Written by Lars Toenning started on April 2020. diff --git a/src/AIModel/AISwiftAircraft.h b/src/AIModel/AISwiftAircraft.h index eddeb60c5..633679402 100644 --- a/src/AIModel/AISwiftAircraft.h +++ b/src/AIModel/AISwiftAircraft.h @@ -1,4 +1,4 @@ -// AISwiftAircraft.h - Derived AIBase class for swift aircrafts +// AISwiftAircraft.h - Derived AIBase class for swift aircraft // // Copyright (C) 2020 - swift Project Community / Contributors (http://swift-project.org/) // Written by Lars Toenning started on April 2020. diff --git a/src/Network/Swift/SwiftAircraftManager.cpp b/src/Network/Swift/SwiftAircraftManager.cpp index 8c7bf8596..a2b65bd41 100644 --- a/src/Network/Swift/SwiftAircraftManager.cpp +++ b/src/Network/Swift/SwiftAircraftManager.cpp @@ -1,4 +1,4 @@ -// SwiftAircraftManager.cpp - Manager class for aircrafts generated by swift +// SwiftAircraftManager.cpp - Manager class for aircraft generated by swift // // Copyright (C) 2019 - swift Project Community / Contributors (http://swift-project.org/) // Adapted to Flightgear by Lars Toenning @@ -22,13 +22,12 @@ #include FGSwiftAircraftManager::FGSwiftAircraftManager() -{ -} += default; FGSwiftAircraftManager::~FGSwiftAircraftManager() = default; -bool FGSwiftAircraftManager::addPlane(const std::string& callsign, std::string modelString) +bool FGSwiftAircraftManager::addPlane(const std::string& callsign, const std::string& modelString) { this->removePlane(callsign); // Remove plane if already exists e.g. when rematching is done. auto curAircraft = new FGAISwiftAircraft(callsign, modelString); diff --git a/src/Network/Swift/SwiftAircraftManager.h b/src/Network/Swift/SwiftAircraftManager.h index 06d88e266..6c4826a13 100644 --- a/src/Network/Swift/SwiftAircraftManager.h +++ b/src/Network/Swift/SwiftAircraftManager.h @@ -1,4 +1,4 @@ -// SwiftAircraftManager.h - Manger class for aircrafts generated for swift +// SwiftAircraftManager.h - Manger class for aircraft generated for swift // // Copyright (C) 2019 - swift Project Community / Contributors (http://swift-project.org/) // Adapted to Flightgear by Lars Toenning @@ -32,7 +32,7 @@ class FGSwiftAircraftManager public: FGSwiftAircraftManager(); ~FGSwiftAircraftManager(); - bool addPlane(const std::string& callsign, std::string modelString); + bool addPlane(const std::string& callsign, const std::string& modelString); void updatePlanes(std::vector callsigns, std::vector positions, std::vector orientations, std::vector groundspeeds, std::vector onGrounds); void getRemoteAircraftData(std::vector& callsigns, std::vector& latitudesDeg, std::vector& longitudesDeg, std::vector& elevationsM, std::vector& verticalOffsets) const; diff --git a/src/Network/Swift/swift_connection.hxx b/src/Network/Swift/swift_connection.hxx index d7732acc3..c878af2d0 100644 --- a/src/Network/Swift/swift_connection.hxx +++ b/src/Network/Swift/swift_connection.hxx @@ -1,4 +1,4 @@ -// swift_conection.hxx +// swift_connection.hxx // // Copyright (C) 2019 - swift Project Community / Contributors (http://swift-project.org/) // Adapted to Flightgear by Lars Toenning diff --git a/src/Network/Swift/traffic.cpp b/src/Network/Swift/traffic.cpp index 854d2e8bf..32c6ba6ab 100644 --- a/src/Network/Swift/traffic.cpp +++ b/src/Network/Swift/traffic.cpp @@ -25,10 +25,6 @@ #include "traffic.h" #include "SwiftAircraftManager.h" #include -#include -#include -#include -#include #include @@ -60,25 +56,8 @@ const std::string& CTraffic::ObjectPath() return s; } -void CTraffic::planeLoaded(void* id, bool succeeded, void* self) -{ - auto traffic = static_cast(self); - auto planeIt = traffic->m_planesById.find(id); - if (planeIt == traffic->m_planesById.end()) { return; } - - if (succeeded) { - traffic->emitPlaneAdded(planeIt->second->callsign); - } else { - traffic->emitPlaneAddingFailed(planeIt->second->callsign); - } -} - bool CTraffic::initialize() { - m_initialized = true; - - m_enabled = true; - return true; } @@ -96,24 +75,11 @@ void CTraffic::emitPlaneAdded(const std::string& callsign) sendDBusMessage(signalPlaneAdded); } -void CTraffic::emitPlaneAddingFailed(const std::string& callsign) -{ - CDBusMessage signalPlaneAddingFailed = CDBusMessage::createSignal(FGSWIFTBUS_TRAFFIC_OBJECTPATH, FGSWIFTBUS_TRAFFIC_INTERFACENAME, "remoteAircraftAddingFailed"); - signalPlaneAddingFailed.beginArgumentWrite(); - signalPlaneAddingFailed.appendArgument(callsign); - sendDBusMessage(signalPlaneAddingFailed); -} - void CTraffic::cleanup() { acm->removeAllPlanes(); } -void CTraffic::removeAllPlanes() -{ - acm->removeAllPlanes(); -} - void CTraffic::dbusDisconnectedHandler() { acm->removeAllPlanes(); @@ -272,20 +238,12 @@ DBusHandlerResult CTraffic::dbusMessageHandler(const CDBusMessage& message_) return DBUS_HANDLER_RESULT_HANDLED; } -int CTraffic::process() -{ - invokeQueuedDBusCalls(); - return 1; -} + int CTraffic::process() + { + invokeQueuedDBusCalls(); + return 1; + } -//! memcmp function which ignores the header ("size" member) and compares only the payload (the rest of the struct) -template -int memcmpPayload(T* dst, T* src) -{ - return std::memcmp(reinterpret_cast(dst) + sizeof(dst->size), - reinterpret_cast(src) + sizeof(src->size), - sizeof(*dst) - sizeof(dst->size)); -} } // namespace FGSwiftBus //! \endcond diff --git a/src/Network/Swift/traffic.h b/src/Network/Swift/traffic.h index bbc040001..bce317127 100644 --- a/src/Network/Swift/traffic.h +++ b/src/Network/Swift/traffic.h @@ -54,9 +54,6 @@ public: //! Initialize the multiplayer planes rendering and return true if successful bool initialize(); - //! Remove all traffic aircraft - void removeAllPlanes(); - //! Perform generic processing int process(); @@ -68,40 +65,17 @@ protected: DBusHandlerResult dbusMessageHandler(const CDBusMessage& message) override; private: - bool m_initialized = false; - bool m_enabled = false; - void emitPlaneAdded(const std::string& callsign); - void emitPlaneAddingFailed(const std::string& callsign); void cleanup(); struct Plane { void* id = nullptr; std::string callsign; - std::string aircraftIcao; - std::string airlineIcao; - std::string livery; - std::string modelName; - bool hasSurfaces = false; - bool hasXpdr = false; char label[32]{}; - float targetGearPosition = 0; - std::chrono::system_clock::time_point prevSurfacesLerpTime; }; - - std::unordered_map m_planesByCallsign; - std::unordered_map m_planesById; - std::vector m_followPlaneViewSequence; - std::chrono::system_clock::time_point m_timestampLastSimFrame = std::chrono::system_clock::now(); - - std::string m_followPlaneViewCallsign; - + bool m_emitSimFrame = true; - - std::unique_ptr acm; - - static void planeLoaded(void* id, bool succeeded, void* self); }; } // namespace FGSwiftBus