TravelCCM Logo  1.00.9
C++ Travel Customer Choice Model Library
Loading...
Searching...
No Matches
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
13namespace stdair {
14 struct BookingRequestStruct;
15}
16
17namespace 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
static const CustomerChoiceModel * create(const stdair::PassengerChoiceModel::EN_PassengerChoiceModel &)
Forward declarations.