SEvMgr Logo  1.00.7
C++ Simulation-Oriented Discrete Event Management Library
SEVMGR_ServiceContext.hpp
Go to the documentation of this file.
1#ifndef __SEVMGR_SVC_SEVMGRSERVICECONTEXT_HPP
2#define __SEVMGR_SVC_SEVMGRSERVICECONTEXT_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/service/ServiceAbstract.hpp>
13// SEvMgr
15
17namespace stdair {
18 class FacBomManager;
19 template <typename BOM> class FacBom;
20}
21
22namespace SEVMGR {
23
25 class EventQueue;
26
30 class SEVMGR_ServiceContext : public stdair::ServiceAbstract {
36 friend class SEVMGR_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 EventQueue& getEventQueue() const;
67
68
69 private:
70 // ///////// Setters //////////
74 void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
75 const bool iOwnStdairService) {
76 _stdairService = ioSTDAIR_ServicePtr;
77 _ownStdairService = iOwnStdairService;
78 }
79
80
81 private:
82 // ///////// Display Methods //////////
86 const std::string shortDisplay() const;
87
91 const std::string display() const;
92
96 const std::string describe() const;
97
98
99 private:
101
104 SEVMGR_ServiceContext();
108 SEVMGR_ServiceContext (const SEVMGR_ServiceContext&);
109
113 ~SEVMGR_ServiceContext();
114
118 void reset();
119
127 void init();
128
135 void initEventQueue();
136
137
138 private:
139 // /////////////// Children ///////////////
143 stdair::STDAIR_ServicePtr_T _stdairService;
144
148 bool _ownStdairService;
149
150
151 private:
152 // ////////////// Attributes ////////////////
156 EventQueue* _eventQueue;
157 };
158
159}
160#endif // __SEVMGR_SVC_SEVMGRSERVICECONTEXT_HPP
Class holding the context of the Sevmgr services.
class holding the services related to Travel Demand Generation.
Forward declarations.
Definition: EventQueue.hpp:23