SEvMgr Logo  1.00.11
C++ Simulation-Oriented Discrete Event Management Library
Loading...
Searching...
No Matches
EventQueueManager.hpp
Go to the documentation of this file.
1#ifndef __SEVMGR_CMD_EVENTQUEUEMANAGER_HPP
2#define __SEVMGR_CMD_EVENTQUEUEMANAGER_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// StdAir
8#include <stdair/stdair_basic_types.hpp>
9#include <stdair/command/CmdAbstract.hpp>
10#include <stdair/stdair_service_types.hpp>
11// SEvMgr
13
14// Forward declarations
15namespace stdair {
16 struct ProgressStatusSet;
17}
18
19namespace SEVMGR {
20
21 // Forward declarations
22 class EventQueue;
23
27 class EventQueueManager : public stdair::CmdAbstract {
28 friend class SEVMGR_Service;
29
30 private:
31 // //////// Business methodes //////////
35 static void buildSampleQueue (stdair::STDAIR_ServicePtr_T,
36 EventQueue&);
37
41 static stdair::BookingRequestStruct buildSampleBookingRequest(stdair::STDAIR_ServicePtr_T,
42 const bool isForCRS = false);
43
47 static void reset (EventQueue&);
48
52 static void addEvent (EventQueue&, stdair::EventStruct&);
53
57 static const std::string describeKey (const EventQueue&);
58
62 static const std::string list (const EventQueue&);
63
67 static const std::string list (const EventQueue&,
68 const stdair::EventType::EN_EventType&);
69
73 static stdair::ProgressStatusSet popEvent (EventQueue&,
74 stdair::EventStruct&);
75
79 static void run (EventQueue&, stdair::EventStruct&);
80
97 static bool select (EventQueue&, stdair::EventStruct&, const stdair::DateTime_T&);
98
102 static void updateStatus (EventQueue&,
103 const stdair::EventType::EN_EventType&,
104 const stdair::Count_T&);
109 static void addStatus (EventQueue&,
110 const stdair::EventType::EN_EventType&,
111 const stdair::Count_T&);
112
117 static bool hasProgressStatus (const EventQueue&,
118 const stdair::EventType::EN_EventType&);
119
123 static bool isQueueDone (const EventQueue&);
124
125
129 static const stdair::Count_T getQueueSize(const EventQueue&);
130
134 static const stdair::Count_T&
135 getExpectedTotalNumberOfEventsToBeGenerated(const EventQueue&);
136
140 static const stdair::Count_T&
141 getExpectedTotalNumberOfEventsToBeGenerated(const EventQueue&,
142 const stdair::EventType::EN_EventType&);
143
147 static const stdair::Count_T&
148 getActualTotalNumberOfEventsToBeGenerated(const EventQueue&);
149
153 static const stdair::Count_T&
154 getActualTotalNumberOfEventsToBeGenerated(const EventQueue&,
155 const stdair::EventType::EN_EventType&);
156
160 static const stdair::ProgressStatus& getStatus (const EventQueue&,
161 const stdair::EventType::EN_EventType&);
162
167 static const stdair::ProgressStatus& getStatus (const EventQueue&);
168
169 };
170
171}
172#endif // __SEVMGR_CMD_EVENTQUEUEMANAGER_HPP
Utility class for Demand and DemandStream objects.
Class holding event structures.
Forward declarations.