TraDemGen Logo  0.2.2
C++ Simulated Travel Demand Generation Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
TRADEMGEN_ServiceContext.hpp
Go to the documentation of this file.
1 #ifndef __TRADEMGEN_SVC_TRADEMGENSERVICECONTEXT_HPP
2 #define __TRADEMGEN_SVC_TRADEMGENSERVICECONTEXT_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // StdAir
10 #include <stdair/stdair_basic_types.hpp>
11 #include <stdair/stdair_service_types.hpp>
12 #include <stdair/basic/RandomGeneration.hpp>
13 #include <stdair/bom/BookingRequestTypes.hpp>
14 #include <stdair/service/ServiceAbstract.hpp>
15 // TraDemGen
18 
19 // Forward declarations
20 namespace stdair {
21  struct DemandCharacteristics;
22  struct DemandDistribution;
23 }
24 
25 namespace TRADEMGEN {
26 
30  class TRADEMGEN_ServiceContext : public stdair::ServiceAbstract {
36  friend class TRADEMGEN_Service;
38 
39  private:
40  // ///////// Getters //////////
44  stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
45  return _stdairService;
46  }
47 
51  stdair::STDAIR_Service& getSTDAIR_Service() const {
52  assert (_stdairService != NULL);
53  return *_stdairService;
54  }
55 
59  const bool getOwnStdairServiceFlag() const {
60  return _ownStdairService;
61  }
62 
66  stdair::RandomGeneration& getUniformGenerator() {
67  return _uniformGenerator;
68  }
69 
73  const POSProbabilityMass_T& getPOSProbabilityMass() const {
74  return _posProbabilityMass;
75  }
76 
77 
78  private:
79  // ///////// Setters //////////
83  void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
84  const bool iOwnStdairService) {
85  _stdairService = ioSTDAIR_ServicePtr;
86  _ownStdairService = iOwnStdairService;
87  }
88 
89 
90  private:
91  // ///////// Display Methods //////////
95  const std::string shortDisplay() const;
96 
100  const std::string display() const;
101 
105  const std::string describe() const;
106 
107 
108  private:
110 
113  TRADEMGEN_ServiceContext (const stdair::RandomSeed_T&);
117  TRADEMGEN_ServiceContext();
121  TRADEMGEN_ServiceContext (const TRADEMGEN_ServiceContext&);
122 
126  ~TRADEMGEN_ServiceContext();
127 
131  void reset();
132 
133 
134  private:
135  // /////////////// Children ///////////////
139  stdair::STDAIR_ServicePtr_T _stdairService;
140 
144  bool _ownStdairService;
145 
146 
147  private:
148  // ////////////// Attributes ////////////////
155  stdair::RandomGeneration _uniformGenerator;
156 
160  const POSProbabilityMass_T _posProbabilityMass;
161  };
162 
163 }
164 #endif // __TRADEMGEN_SVC_TRADEMGENSERVICECONTEXT_HPP