AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InventoryBuilder.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_CMD_INVENTORYBUILDER_HPP
2 #define __AIRINV_CMD_INVENTORYBUILDER_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 Bucket;
20  class SegmentDate;
21  class SegmentCabin;
22  class FareFamily;
23 }
24 
25 namespace AIRINV {
26 
28  struct FlightDateStruct;
29  struct LegStruct;
30  struct LegCabinStruct;
31  struct BucketStruct;
32  struct SegmentStruct;
33  struct SegmentCabinStruct;
34  struct FareFamilyStruct;
35  struct BookingClassStruct;
36  namespace InventoryParserHelper {
37  struct doEndFlightDate;
38  }
39 
43  class InventoryBuilder : public stdair::CmdAbstract {
50 
51  private:
56  static void buildInventory (stdair::BomRoot&, const FlightDateStruct&);
57 
62  static void buildFlightDate (stdair::Inventory&, const FlightDateStruct&);
63 
68  static void buildLegDate (stdair::FlightDate&, const LegStruct&);
69 
74  static void buildLegCabin (stdair::LegDate&, const LegCabinStruct&);
75 
80  static void buildBucket (stdair::LegCabin&, const BucketStruct&);
81 
86  static void buildSegmentDate (stdair::FlightDate&, const SegmentStruct&);
87 
92  static void buildSegmentCabin (stdair::SegmentDate&,
93  const SegmentCabinStruct&);
94 
99  static void buildFareFamily (stdair::SegmentCabin&,
100  const FareFamilyStruct&);
101 
106  static void buildBookingClass (stdair::FareFamily&,
107  const BookingClassStruct&);
108  };
109 
110 }
111 #endif // __AIRINV_CMD_INVENTORYBUILDER_HPP