Go to the documentation of this file.00001 #ifndef __AIRINV_CMD_INVENTORYBUILDER_HPP
00002 #define __AIRINV_CMD_INVENTORYBUILDER_HPP
00003
00004
00005
00006
00007
00008 #include <stdair/command/CmdAbstract.hpp>
00009
00010 #include <airinv/AIRINV_Types.hpp>
00011
00013 namespace stdair {
00014 class BomRoot;
00015 class Inventory;
00016 class FlightDate;
00017 class LegDate;
00018 class LegCabin;
00019 class Bucket;
00020 class SegmentDate;
00021 class SegmentCabin;
00022 class FareFamily;
00023 }
00024
00025 namespace AIRINV {
00026
00028 struct FlightDateStruct;
00029 struct LegStruct;
00030 struct LegCabinStruct;
00031 struct BucketStruct;
00032 struct SegmentStruct;
00033 struct SegmentCabinStruct;
00034 struct FareFamilyStruct;
00035 struct BookingClassStruct;
00036 namespace InventoryParserHelper {
00037 struct doEndFlightDate;
00038 }
00039
00043 class InventoryBuilder : public stdair::CmdAbstract {
00049 friend struct InventoryParserHelper::doEndFlightDate;
00050
00051 private:
00056 static void buildInventory (stdair::BomRoot&, const FlightDateStruct&);
00057
00062 static void buildFlightDate (stdair::Inventory&, const FlightDateStruct&);
00063
00068 static void buildLegDate (stdair::FlightDate&, const LegStruct&);
00069
00074 static void buildLegCabin (stdair::LegDate&, const LegCabinStruct&);
00075
00080 static void buildBucket (stdair::LegCabin&, const BucketStruct&);
00081
00086 static void buildSegmentDate (stdair::FlightDate&, const SegmentStruct&);
00087
00092 static void buildSegmentCabin (stdair::SegmentDate&,
00093 const SegmentCabinStruct&);
00094
00099 static void buildFareFamily (stdair::SegmentCabin&,
00100 const FareFamilyStruct&);
00101
00106 static void buildBookingClass (stdair::FareFamily&,
00107 const BookingClassStruct&);
00108 };
00109
00110 }
00111 #endif // __AIRINV_CMD_INVENTORYBUILDER_HPP