AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
InventoryBuilder.hpp
Go to the documentation of this file.
00001 #ifndef __AIRINV_CMD_INVENTORYBUILDER_HPP
00002 #define __AIRINV_CMD_INVENTORYBUILDER_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // StdAir
00008 #include <stdair/command/CmdAbstract.hpp>
00009 // AirInv
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