diff --git a/src/Traffic/SchedFlight.cxx b/src/Traffic/SchedFlight.cxx index 886c3b781..346851cf6 100644 --- a/src/Traffic/SchedFlight.cxx +++ b/src/Traffic/SchedFlight.cxx @@ -44,8 +44,6 @@ #include #include #include - - #include #include @@ -59,46 +57,43 @@ #include #include - - #include
#include "SchedFlight.hxx" using std::string; + /****************************************************************************** * FGScheduledFlight stuff *****************************************************************************/ std::map FGScheduledFlight::missingAirports = std::map(); -FGScheduledFlight::FGScheduledFlight() +FGScheduledFlight::FGScheduledFlight() : departurePort{nullptr}, + arrivalPort{nullptr}, + departureTime{0}, + arrivalTime{0}, + repeatPeriod{0} { - departureTime = 0; - arrivalTime = 0; cruiseAltitude = 0; - repeatPeriod = 0; initialized = false; available = true; - departurePort = NULL; - arrivalPort = NULL; } -FGScheduledFlight::FGScheduledFlight(const FGScheduledFlight &other) +FGScheduledFlight::FGScheduledFlight(const FGScheduledFlight &other) : callsign{other.callsign}, + fltRules{other.fltRules}, + departurePort{other.departurePort}, + arrivalPort{other.arrivalPort}, + depId{other.depId}, + arrId{other.arrId}, + requiredAircraft{other.requiredAircraft}, + departureTime{other.departureTime}, + arrivalTime{other.arrivalTime}, + repeatPeriod{other.repeatPeriod} { - callsign = other.callsign; - fltRules = other.fltRules; - departurePort = other.departurePort; - depId = other.depId; - arrId = other.arrId; - departureTime = other.departureTime; cruiseAltitude = other.cruiseAltitude; - arrivalPort = other.arrivalPort; - arrivalTime = other.arrivalTime; - repeatPeriod = other.repeatPeriod; initialized = other.initialized; - requiredAircraft = other.requiredAircraft; available = other.available; } @@ -110,26 +105,28 @@ FGScheduledFlight::FGScheduledFlight(const FGScheduledFlight &other) */ FGScheduledFlight::FGScheduledFlight(const string& cs, - const string& fr, - const string& depPrt, - const string& arrPrt, - int cruiseAlt, - const string& deptime, - const string& arrtime, - const string& rep, - const string& reqAC) + const string& fr, + const string& depPrt, + const string& arrPrt, + int cruiseAlt, + const string& deptime, + const string& arrtime, + const string& rep, + const string& reqAC) : callsign{cs}, + fltRules{fr}, + departurePort{nullptr}, + arrivalPort{nullptr}, + depId{depPrt}, + arrId{arrPrt}, + requiredAircraft{reqAC} { - callsign = cs; - fltRules = fr; //departurePort.setId(depPrt); //arrivalPort.setId(arrPrt); - depId = depPrt; - arrId = arrPrt; + //cerr << "Constructor: departure " << depId << ". arrival " << arrId << endl; //departureTime = processTimeString(deptime); //arrivalTime = processTimeString(arrtime); cruiseAltitude = cruiseAlt; - requiredAircraft = reqAC; // Process the repeat period string if (rep.find("WEEK",0) != string::npos) @@ -188,11 +185,11 @@ time_t FGScheduledFlight::processTimeString(const string& theTime) // okay first split theTime string into // weekday, hour, minute, second; // Check if a week day is specified - const auto daySeperatorPos = timeCopy.find("/", 0); - if (daySeperatorPos != string::npos) { - const int weekday = std::stoi(timeCopy.substr(0, daySeperatorPos)); + const auto daySeparatorPos = timeCopy.find("/", 0); + if (daySeparatorPos != string::npos) { + const int weekday = std::stoi(timeCopy.substr(0, daySeparatorPos)); timeOffsetInDays = weekday - currTimeDate->getGmt()->tm_wday; - timeCopy = theTime.substr(daySeperatorPos + 1); + timeCopy = theTime.substr(daySeparatorPos + 1); } const auto timeTokens = simgear::strutils::split(timeCopy, ":"); @@ -290,7 +287,7 @@ bool FGScheduledFlight::initializeAirports() { //cerr << "Initializing using : " << depId << " " << arrId << endl; departurePort = FGAirport::findByIdent(depId); - if(departurePort == NULL) + if(departurePort == nullptr) { if (!FGScheduledFlight::missingAirports.count(depId)) { FGScheduledFlight::missingAirports.insert(std::pair(depId, depId)); @@ -299,7 +296,7 @@ bool FGScheduledFlight::initializeAirports() return false; } arrivalPort = FGAirport::findByIdent(arrId); - if(arrivalPort == NULL) + if(arrivalPort == nullptr) { if (!FGScheduledFlight::missingAirports.count(arrId)) { FGScheduledFlight::missingAirports.insert(std::pair(arrId, arrId)); @@ -314,7 +311,7 @@ bool FGScheduledFlight::initializeAirports() return true; } -bool compareScheduledFlights(FGScheduledFlight *a, FGScheduledFlight *b) +bool FGScheduledFlight::compareScheduledFlights(const FGScheduledFlight *a, const FGScheduledFlight *b) { return (*a) < (*b); }; diff --git a/src/Traffic/SchedFlight.hxx b/src/Traffic/SchedFlight.hxx index 74b937247..8c663b3c6 100644 --- a/src/Traffic/SchedFlight.hxx +++ b/src/Traffic/SchedFlight.hxx @@ -26,19 +26,18 @@ * scheduled flight (if any) is currently active. I no scheduled flights * are found active, it tries to position the aircraft associated with this * schedule at departure airport of the next scheduled flight. - * The class ScheduledFlight is a software implimentation of this. + * The class ScheduledFlight is a software implementation of this. * In summary, this class stores arrival and departure information, as well * as some administrative data, such as the callsign of this particular * flight (used in future ATC scenarios), under which flight rules the * flight is taking place, as well as a requested initial cruise altitude. - * Finally, the class contains a repeat period, wich indicates after how + * Finally, the class contains a repeat period, which indicates after how * many seconds a flight should repeat in this schedule (which is usually * after either a day or a week). If this value is zero, this flight won't * repeat. **************************************************************************/ -#ifndef _FGSCHEDFLIGHT_HXX_ -#define _FGSCHEDFLIGHT_HXX_ +#pragma once class FGAirport; @@ -50,21 +49,22 @@ private: std::string callsign; std::string fltRules; + FGAirport *departurePort; FGAirport *arrivalPort; + std::string depId; std::string arrId; std::string requiredAircraft; + time_t departureTime; time_t arrivalTime; time_t repeatPeriod; - int cruiseAltitude; + int cruiseAltitude; bool initialized; bool available; - - public: FGScheduledFlight(); FGScheduledFlight(const FGScheduledFlight &other); @@ -113,14 +113,11 @@ public: void setCallSign(const std::string& val) { callsign = val; }; void setFlightRules(const std::string& val) { fltRules = val; }; + + static bool compareScheduledFlights(const FGScheduledFlight *a, const FGScheduledFlight *b); }; typedef std::vector FGScheduledFlightVec; typedef std::vector::iterator FGScheduledFlightVecIterator; typedef std::map < std::string, FGScheduledFlightVec > FGScheduledFlightMap; - -bool compareScheduledFlights(FGScheduledFlight *a, FGScheduledFlight *b); - - -#endif