$treeview $search $mathjax
00001 #ifndef __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP 00002 #define __AIRINV_BOM_FLIGHTPERIODSTRUCT_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/bom/LegCabinStruct.hpp> 00015 #include <airinv/bom/LegStruct.hpp> 00016 #include <airinv/bom/SegmentStruct.hpp> 00017 #include <airinv/bom/SegmentCabinStruct.hpp> 00018 #include <airinv/bom/FareFamilyStruct.hpp> 00019 #include <airinv/bom/AirportList.hpp> 00020 00021 namespace AIRINV { 00022 00024 struct FlightPeriodStruct : public stdair::StructAbstract { 00025 00027 stdair::Date_T getDate() const; 00028 00030 stdair::Duration_T getTime() const; 00031 00033 const std::string describe() const; 00034 00037 void addAirport (const stdair::AirportCode_T&); 00038 00040 void buildSegments (); 00041 00048 void addSegmentCabin (const SegmentStruct&, 00049 const SegmentCabinStruct&); 00050 00056 void addSegmentCabin (const SegmentCabinStruct&); 00057 00064 void addFareFamily (const SegmentStruct&, 00065 const SegmentCabinStruct&, 00066 const FareFamilyStruct&); 00067 00073 void addFareFamily (const SegmentCabinStruct&, 00074 const FareFamilyStruct&); 00075 00077 FlightPeriodStruct (); 00078 00079 // Attributes 00080 stdair::AirlineCode_T _airlineCode; 00081 stdair::FlightNumber_T _flightNumber; 00082 stdair::DatePeriod_T _dateRange; 00083 stdair::DoWStruct _dow; 00084 LegStructList_T _legList; 00085 SegmentStructList_T _segmentList; 00086 00089 bool _legAlreadyDefined; 00090 LegStruct _itLeg; 00091 LegCabinStruct _itLegCabin; 00092 00094 stdair::Date_T _dateRangeStart; 00095 stdair::Date_T _dateRangeEnd; 00096 unsigned int _itYear; 00097 unsigned int _itMonth; 00098 unsigned int _itDay; 00099 int _dateOffset; 00100 00102 long _itHours; 00103 long _itMinutes; 00104 long _itSeconds; 00105 00108 AirportList_T _airportList; 00109 AirportOrderedList_T _airportOrderedList; 00110 00112 bool _areSegmentDefinitionsSpecific; 00113 SegmentStruct _itSegment; 00114 SegmentCabinStruct _itSegmentCabin; 00115 }; 00116 00117 } 00118 #endif // __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP