SEvMgr Logo  0.2.0
C++ Simulation-Oriented Discrete Event Management Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
SEVMGR_Service.hpp
Go to the documentation of this file.
1 #ifndef __SEVMGR_SEVMGR_SERVICE_HPP
2 #define __SEVMGR_SEVMGR_SERVICE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/stdair_basic_types.hpp>
9 #include <stdair/stdair_service_types.hpp>
10 #include <stdair/bom/EventTypes.hpp>
11 
12 // Forward declarations
13 namespace stdair {
14  class EventQueue;
15  struct ProgressStatusSet;
16  struct BasLogParams;
17  struct BasDBParams;
18  struct EventStruct;
19 }
20 
21 namespace SEVMGR {
22 
24  class SEVMGR_ServiceContext;
25 
30  public:
31  // ////////////////// Constructors and Destructors //////////////////
47  SEVMGR_Service (const stdair::BasLogParams&, const stdair::BasDBParams&);
48 
60  SEVMGR_Service (const stdair::BasLogParams&);
61 
77  SEVMGR_Service (stdair::STDAIR_ServicePtr_T);
78 
83 
84 
85  public:
86  // ////////////////// Business support methods //////////////////
90  void buildSampleBom();
91 
108  stdair::ProgressStatusSet popEvent (stdair::EventStruct&) const;
109 
115  bool isQueueDone() const;
116 
121  void reset() const;
122 
123 
124  public:
125  // //////////////// Display support methods /////////////////
133  std::string csvDisplay() const;
134 
135 
136  private:
137  // ////////////////// Constructors and Destructors //////////////////
141  SEVMGR_Service();
142 
147 
152  void initServiceContext();
153 
165  stdair::STDAIR_ServicePtr_T initStdAirService (const stdair::BasLogParams&,
166  const stdair::BasDBParams&);
167 
177  stdair::STDAIR_ServicePtr_T initStdAirService (const stdair::BasLogParams&);
178 
187  void addStdAirService (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
188  const bool iOwnStdairService);
189 
196  void initSevmgrService();
197 
201  void finalise();
202 
203 
204  private:
205  // ///////// Service Context /////////
209  SEVMGR_ServiceContext* _sevmgrServiceContext;
210  };
211 
212 }
213 #endif // __SEVMGR_SEVMGR_SERVICE_HPP