AirSched Logo  0.1.4
C++ Simulated Airline Schedule Manager Library
SegmentPathProvider.hpp
Go to the documentation of this file.
00001 #ifndef __AIRSCHED_COM_CMD_SEGMENTPATHPROVIDER_HPP
00002 #define __AIRSCHED_COM_CMD_SEGMENTPATHPROVIDER_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // StdAir
00008 #include <stdair/bom/TravelSolutionTypes.hpp>
00009 #include <stdair/command/CmdAbstract.hpp>
00010 
00012 namespace stdair {
00013   class BomRoot;
00014   struct BookingRequestStruct;
00015 }
00016 
00017 namespace AIRSCHED {
00018 
00020   class ReachableUniverse;
00021   class OriginDestinationSet;
00022   class SegmentPathPeriod;
00023 
00027   class SegmentPathProvider : public stdair::CmdAbstract {
00028     friend class AIRSCHED_Service;
00029     
00030   private:
00031     // ////////////////// Business Methods ///////////////////
00042     static void buildSegmentPathList (stdair::TravelSolutionList_T&,
00043                                       const stdair::BomRoot&,
00044                                       const stdair::BookingRequestStruct&);
00045 
00056     static void buildSegmentPathList (stdair::TravelSolutionList_T&,
00057                                       const ReachableUniverse&,
00058                                       const stdair::BookingRequestStruct&);
00059 
00070     static void buildSegmentPathList (stdair::TravelSolutionList_T&,
00071                                       const OriginDestinationSet&,
00072                                       const stdair::BookingRequestStruct&);
00073 
00084     static void buildSegmentPathList (stdair::TravelSolutionList_T&,
00085                                       const SegmentPathPeriod&,
00086                                       const stdair::BookingRequestStruct&);
00087   };
00088 
00089 }
00090 #endif // __AIRSCHED_COM_CMD_SEGMENTPATHPROVIDER_HPP