AirInv Logo  1.00.3
C++ Simulated Airline Inventory Management System library
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
AIRINV::FlightPeriodFileParser
Definition: ScheduleParserHelper.hpp:325
AIRINV::SegmentCabinStruct
Utility Structure for the parsing of SegmentCabin details.
Definition: SegmentCabinStruct.hpp:26
AIRINV::InventoryGenerator::FFFlightPeriodFileParser
friend class FFFlightPeriodFileParser
Definition: InventoryGenerator.hpp:49
stdair
Forward declarations.
Definition: AIRINV_Master_Service.hpp:25
AIRINV::FlightPeriodStruct
Definition: FlightPeriodStruct.hpp:24
AIRINV::ScheduleParserHelper::doEndFlight
Definition: ScheduleParserHelper.hpp:224
AIRINV_Types.hpp
AIRINV::InventoryGenerator
Class handling the generation / instantiation of the Inventory BOM.
Definition: InventoryGenerator.hpp:42
AIRINV
Definition: AIRINV_Master_Service.hpp:38
AIRINV::BucketStruct
Utility Structure for the parsing of Bucket structures.
Definition: BucketStruct.hpp:26
AIRINV::SegmentStruct
Definition: SegmentStruct.hpp:23
AIRINV::LegCabinStruct
Definition: LegCabinStruct.hpp:24
AIRINV::FareFamilyStruct
Utility Structure for the parsing of fare family details.
Definition: FareFamilyStruct.hpp:26
AIRINV::ScheduleParser
Class wrapping the parser entry point.
Definition: ScheduleParser.hpp:22
AIRINV::LegStruct
Definition: LegStruct.hpp:24