X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FTraffic%2FSchedFlight.hxx;h=751d95895c4e6af3df88c666fc84d8a9e2770747;hb=cff6b2034de866df70a2b29feb3383ee8ccbbef6;hp=5f01f346ebd980b06ac6ea140ebee27afa0dbf2f;hpb=b3e969726249e772da4c9d1aa6eb212e6472aed3;p=flightgear.git diff --git a/src/Traffic/SchedFlight.hxx b/src/Traffic/SchedFlight.hxx index 5f01f346e..751d95895 100644 --- a/src/Traffic/SchedFlight.hxx +++ b/src/Traffic/SchedFlight.hxx @@ -14,7 +14,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * **************************************************************************/ @@ -40,49 +40,54 @@ #ifndef _FGSCHEDFLIGHT_HXX_ #define _FGSCHEDFLIGHT_HXX_ - -using namespace std; - -SG_USING_STD(vector); - +class FGAirport; class FGScheduledFlight { private: - string callsign; - string fltRules; - FGAirport departurePort; - FGAirport arrivalPort; + 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; + bool initialized; + bool available; - void initializeAirports(); + public: FGScheduledFlight(); FGScheduledFlight(const FGScheduledFlight &other); - // FGScheduledFlight(const string); - FGScheduledFlight::FGScheduledFlight(string cs, - string fr, - string depPrt, - string arrPrt, - int cruiseAlt, - string deptime, - string arrtime, - string rep - ); + // FGScheduledFlight(const std::string); + FGScheduledFlight(const std::string& cs, + const std::string& fr, + const std::string& depPrt, + const std::string& arrPrt, + int cruiseAlt, + const std::string& deptime, + const std::string& arrtime, + const std::string& rep, + const std::string& reqAC + ); ~FGScheduledFlight(); void update(); + bool initializeAirports(); void adjustTime(time_t now); time_t getDepartureTime() { return departureTime; }; time_t getArrivalTime () { return arrivalTime; }; + void setDepartureAirport(const std::string& port) { depId = port; }; + void setArrivalAirport (const std::string& port) { arrId = port; }; FGAirport *getDepartureAirport(); FGAirport *getArrivalAirport (); @@ -92,13 +97,27 @@ public: { return (departureTime < other.departureTime); }; + const std::string& getFlightRules() { return fltRules; }; - time_t processTimeString(string time); - + time_t processTimeString(const std::string& time); + const std::string& getCallSign() {return callsign; }; + const std::string& getRequirement() { return requiredAircraft; } + + void lock() { available = false; }; + void release() { available = true; }; + + bool isAvailable() { return available; }; + + void setCallSign(const std::string& val) { callsign = val; }; + void setFlightRules(const std::string& val) { fltRules = val; }; }; -typedef vector FGScheduledFlightVec; -typedef vector::iterator FGScheduledFlightVecIterator; +typedef std::vector FGScheduledFlightVec; +typedef std::vector::iterator FGScheduledFlightVecIterator; + +typedef std::map < std::string, FGScheduledFlightVec > FGScheduledFlightMap; + +bool compareScheduledFlights(FGScheduledFlight *a, FGScheduledFlight *b); #endif