SEvMgr Logo  1.00.0
C++ Simulation-Oriented Discrete Event Management Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
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
14 #include <sevmgr/SEVMGR_Types.hpp>
15 
17 namespace stdair {
18  class FacBomManager;
19  template <typename BOM> class FacBom;
20 }
21 
22 namespace 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