$treeview $search $mathjax
00001 #ifndef __AIRSCHED_CMD_INVENTORYGENERATOR_HPP 00002 #define __AIRSCHED_CMD_INVENTORYGENERATOR_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // StdAir 00008 #include <stdair/command/CmdAbstract.hpp> 00009 // AirSched 00010 #include <airsched/AIRSCHED_Types.hpp> 00011 00012 // Forward declarations 00013 namespace stdair { 00014 class BomRoot; 00015 class FlightPeriod; 00016 } 00017 00018 namespace AIRSCHED { 00019 00020 // Forward declarations 00021 struct FlightPeriodStruct; 00022 struct LegStruct; 00023 struct SegmentStruct; 00024 struct LegCabinStruct; 00025 struct SegmentCabinStruct; 00026 namespace ScheduleParserHelper { 00027 struct doEndFlight; 00028 } 00029 00031 class InventoryGenerator : public stdair::CmdAbstract { 00032 // Only the following class may use methods of InventoryGenerator. 00033 // Indeed, as those methods build the BOM, it is not good to expose 00034 // them publicly. 00035 friend class FlightPeriodFileParser; 00036 friend class FFFlightPeriodFileParser; 00037 friend struct ScheduleParserHelper::doEndFlight; 00038 friend class ScheduleParser; 00039 00040 private: 00043 static void createFlightPeriod (stdair::BomRoot&, 00044 const FlightPeriodStruct&); 00045 00047 static void createSegmentPeriods (stdair::FlightPeriod&, 00048 const FlightPeriodStruct&); 00049 00050 }; 00051 00052 } 00053 #endif // __AIRSCHED_CMD_INVENTORYGENERATOR_HPP