AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InventoryGenerator.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_CMD_INVENTORYGENERATOR_HPP
2 #define __AIRINV_CMD_INVENTORYGENERATOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/command/CmdAbstract.hpp>
9 // Airinv
10 #include <airinv/AIRINV_Types.hpp>
11 
13 namespace stdair {
14  class BomRoot;
15  class Inventory;
16  class FlightDate;
17  class LegDate;
18  class LegCabin;
19  class SegmentDate;
20  class SegmentCabin;
21  class FareFamily;
22 }
23 
24 namespace AIRINV {
25 
26  // Forward declarations
27  struct FlightPeriodStruct;
28  struct LegStruct;
29  struct SegmentStruct;
30  struct LegCabinStruct;
31  struct SegmentCabinStruct;
32  struct FareFamilyStruct;
33  struct BucketStruct;
34  namespace ScheduleParserHelper {
35  struct doEndFlight;
36  }
37 
42  class InventoryGenerator : public stdair::CmdAbstract {
48  friend class FlightPeriodFileParser;
51  friend class ScheduleParser;
52 
53  private:
58  static void createFlightDate (stdair::BomRoot&,
59  const FlightPeriodStruct&);
60 
64  static void createFlightDate (stdair::Inventory&,
65  const stdair::Date_T&,
66  const FlightPeriodStruct&);
67 
71  static stdair::LegDate& createLegDate (stdair::FlightDate&,
72  const stdair::Date_T&,
73  const LegStruct&);
74 
78  static void createLegCabin (stdair::LegDate&, const LegCabinStruct&);
79 
83  static void createBucket (stdair::LegCabin&, const BucketStruct&);
84 
88  static void createSegmentDate (stdair::FlightDate&,
89  const SegmentStruct&);
90 
94  static void createSegmentCabin (stdair::SegmentDate&,
95  const SegmentCabinStruct&);
96 
100  static void createFareFamily (stdair::SegmentCabin&,
101  const FareFamilyStruct&);
102 
106  static void createClass (stdair::FareFamily&,
107  const stdair::ClassCode_T&);
108 
109  };
110 
111 }
112 #endif // __AIRINV_CMD_INVENTORYGENERATOR_HPP