TravelCCM Logo  1.00.2
C++ Travel Customer Choice Model Library
CustomerChoiceModel.hpp
Go to the documentation of this file.
1 #ifndef __TRAVELCCM_BOM_CUSTOMERCHOICEMODEL_HPP
2 #define __TRAVELCCM_BOM_CUSTOMERCHOICEMODEL_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/stdair_service_types.hpp>
9 #include <stdair/bom/TravelSolutionTypes.hpp>
10 #include <stdair/basic/PassengerChoiceModel.hpp>
11 
13 namespace stdair {
14  struct BookingRequestStruct;
15 }
16 
17 namespace TRAVELCCM {
18 
23 
24  private:
25  // ////////// Type definitions ////////////
26  typedef std::map<stdair::PassengerChoiceModel::EN_PassengerChoiceModel,
27  CustomerChoiceModel*> CustomerChoiceModelMap_T;
28 
29  private:
34  static CustomerChoiceModelMap_T& getMap () {
35  static CustomerChoiceModelMap_T _choiceModelMap;
36  return _choiceModelMap;
37  }
38 
39  public:
43  virtual const stdair::TravelSolutionStruct*
44  chooseTravelSolution (stdair::TravelSolutionList_T&,
45  const stdair::BookingRequestStruct&) const = 0;
46 
47 
51  static const CustomerChoiceModel*
52  create (const stdair::PassengerChoiceModel::EN_PassengerChoiceModel&);
53 
54  public:
58  virtual ~CustomerChoiceModel();
59 
60  protected:
65 
70  (const stdair::PassengerChoiceModel::EN_PassengerChoiceModel&);
71 
72  };
73 }
74 #endif // __TRAVELCCM_BOM_CUSTOMERCHOICEMODEL_HPP
virtual const stdair::TravelSolutionStruct * chooseTravelSolution(stdair::TravelSolutionList_T &, const stdair::BookingRequestStruct &) const =0
Forward declarations.
static const CustomerChoiceModel * create(const stdair::PassengerChoiceModel::EN_PassengerChoiceModel &)