$treeview $search $mathjax
00001 #ifndef __AIRINV_BOM_FLIGHTDATESTRUCT_HPP 00002 #define __AIRINV_BOM_FLIGHTDATESTRUCT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // StdAir 00010 #include <stdair/stdair_inventory_types.hpp> 00011 #include <stdair/basic/StructAbstract.hpp> 00012 #include <stdair/bom/DoWStruct.hpp> 00013 // AirInv 00014 #include <airinv/basic/FlightTypeCode.hpp> 00015 #include <airinv/basic/FlightVisibilityCode.hpp> 00016 #include <airinv/bom/LegStruct.hpp> 00017 #include <airinv/bom/LegCabinStruct.hpp> 00018 #include <airinv/bom/BucketStruct.hpp> 00019 #include <airinv/bom/SegmentStruct.hpp> 00020 #include <airinv/bom/SegmentCabinStruct.hpp> 00021 #include <airinv/bom/FareFamilyStruct.hpp> 00022 #include <airinv/bom/AirportList.hpp> 00023 00024 namespace AIRINV { 00025 00027 struct FlightDateStruct : public stdair::StructAbstract { 00028 00030 stdair::Date_T getDate() const; 00031 00033 stdair::Duration_T getTime() const; 00034 00036 const std::string describe() const; 00037 00040 void addAirport (const stdair::AirportCode_T&); 00041 00043 void buildSegments (); 00044 00051 void addSegmentCabin (const SegmentStruct&, 00052 const SegmentCabinStruct&); 00053 00059 void addSegmentCabin (const SegmentCabinStruct&); 00060 00067 void addFareFamily (const SegmentStruct&, const SegmentCabinStruct&, 00068 const FareFamilyStruct&); 00069 00075 void addFareFamily (const SegmentCabinStruct&, const FareFamilyStruct&); 00076 00078 FlightDateStruct (); 00079 00080 // Attributes 00081 stdair::AirlineCode_T _airlineCode; 00082 stdair::FlightNumber_T _flightNumber; 00083 stdair::Date_T _flightDate; 00084 FlightTypeCode _flightTypeCode; 00085 FlightVisibilityCode _flightVisibilityCode; 00086 LegStructList_T _legList; 00087 SegmentStructList_T _segmentList; 00088 00090 unsigned int _itYear; 00091 unsigned int _itMonth; 00092 unsigned int _itDay; 00093 int _dateOffSet; 00094 00096 long _itHours; 00097 long _itMinutes; 00098 long _itSeconds; 00099 00102 AirportList_T _airportList; 00103 AirportOrderedList_T _airportOrderedList; 00104 00107 bool _legAlreadyDefined; 00108 LegStruct _itLeg; 00109 LegCabinStruct _itLegCabin; 00110 BucketStruct _itBucket; 00111 00113 bool _areSegmentDefinitionsSpecific; 00114 SegmentStruct _itSegment; 00115 SegmentCabinStruct _itSegmentCabin; 00116 BookingClassStruct _itBookingClass; 00117 }; 00118 00119 } 00120 #endif // __AIRINV_BOM_FLIGHTDATESTRUCT_HPP