$treeview $search $mathjax
00001 #ifndef __AIRINV_CMD_INVENTORYGENERATOR_HPP 00002 #define __AIRINV_CMD_INVENTORYGENERATOR_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // StdAir 00008 #include <stdair/command/CmdAbstract.hpp> 00009 // Airinv 00010 #include <airinv/AIRINV_Types.hpp> 00011 00013 namespace stdair { 00014 class BomRoot; 00015 class Inventory; 00016 class FlightDate; 00017 class LegDate; 00018 class LegCabin; 00019 class SegmentDate; 00020 class SegmentCabin; 00021 class FareFamily; 00022 } 00023 00024 namespace AIRINV { 00025 00026 // Forward declarations 00027 struct FlightPeriodStruct; 00028 struct LegStruct; 00029 struct SegmentStruct; 00030 struct LegCabinStruct; 00031 struct SegmentCabinStruct; 00032 struct FareFamilyStruct; 00033 struct BucketStruct; 00034 namespace ScheduleParserHelper { 00035 struct doEndFlight; 00036 } 00037 00042 class InventoryGenerator : public stdair::CmdAbstract { 00048 friend class FlightPeriodFileParser; 00049 friend class FFFlightPeriodFileParser; 00050 friend struct ScheduleParserHelper::doEndFlight; 00051 friend class ScheduleParser; 00052 00053 private: 00058 static void createFlightDate (stdair::BomRoot&, 00059 const FlightPeriodStruct&); 00060 00064 static void createFlightDate (stdair::BomRoot&, stdair::Inventory&, 00065 const stdair::Date_T&, 00066 const FlightPeriodStruct&); 00067 00071 static void createRoutingLegKey (stdair::FlightDate&); 00072 00076 static stdair::LegDate& createLegDate (stdair::FlightDate&, 00077 const stdair::Date_T&, 00078 const LegStruct&); 00079 00083 static void createLegCabin (stdair::LegDate&, const LegCabinStruct&); 00084 00088 static void createBucket (stdair::LegCabin&, const BucketStruct&); 00089 00093 static void createSegmentDate (stdair::BomRoot&, stdair::FlightDate&, 00094 const SegmentStruct&); 00095 00099 static void createSegmentCabin (stdair::BomRoot&, stdair::SegmentDate&, 00100 const SegmentCabinStruct&); 00101 00105 static void createFareFamily (stdair::BomRoot&, stdair::SegmentCabin&, 00106 const FareFamilyStruct&); 00107 00111 static void createClass (stdair::FareFamily&, 00112 const stdair::ClassCode_T&); 00113 00117 static void createDisplayNestingStructure (stdair::SegmentCabin&); 00118 }; 00119 00120 } 00121 #endif // __AIRINV_CMD_INVENTORYGENERATOR_HPP