AirInv Logo  1.00.0
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::BomRoot&, stdair::Inventory&,
65  const stdair::Date_T&,
66  const FlightPeriodStruct&);
67 
71  static void createRoutingLegKey (stdair::FlightDate&);
72 
76  static stdair::LegDate& createLegDate (stdair::FlightDate&,
77  const stdair::Date_T&,
78  const LegStruct&);
79 
83  static void createLegCabin (stdair::LegDate&, const LegCabinStruct&);
84 
88  static void createBucket (stdair::LegCabin&, const BucketStruct&);
89 
93  static void createSegmentDate (stdair::BomRoot&, stdair::FlightDate&,
94  const SegmentStruct&);
95 
99  static void createSegmentCabin (stdair::BomRoot&, stdair::SegmentDate&,
100  const SegmentCabinStruct&);
101 
105  static void createFareFamily (stdair::BomRoot&, stdair::SegmentCabin&,
106  const FareFamilyStruct&);
107 
111  static void createClass (stdair::FareFamily&,
112  const stdair::ClassCode_T&);
113 
117  static void createDisplayNestingStructure (stdair::SegmentCabin&);
118  };
119 
120 }
121 #endif // __AIRINV_CMD_INVENTORYGENERATOR_HPP