TvlSim Logo  1.01.6
C++ Simulated Travel-Oriented Distribution System Library
Loading...
Searching...
No Matches
SimulationStatus.hpp
Go to the documentation of this file.
1#ifndef __TVLSIM_BOM_SIMULATIONSTATUS_HPP
2#define __TVLSIM_BOM_SIMULATIONSTATUS_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <string>
9// StdAir
10#include <stdair/stdair_date_time_types.hpp>
11#include <stdair/basic/StructAbstract.hpp>
12// SEvMgr
13#include <sevmgr/SEVMGR_Types.hpp>
14// TvlSim
18
19namespace TVLSIM {
20
29 struct SimulationStatus : public stdair::StructAbstract {
30
31 public:
32 // ////////// Type definitions ////////////
37
38 public:
39 // //////////////// Getters /////////////////
43 bool isTheSimulationDone() const;
44
48 const stdair::Date_T& getStartDate() const {
49 return _startDate;
50 }
51
55 const stdair::Date_T& getCurrentDate() const {
56 return _currentDate;
57 }
58
62 const stdair::Date_T& getEndDate() const {
63 return _endDate;
64 }
65
69 const NbOfRuns_T& getCurrentRun() const {
70 return _currentRun;
71 }
72
77 return _totalNumberOfRuns;
78 }
79
84 return _simulationMode;
85 }
86
91 return _simulationMode.getMode();
92 }
93
97 const stdair::NbOfBookings_T& getCurrentNumberOfBookings() const {
98 return _currentNbOfBookings;
99 }
100
104 const double& getCurrentElapsedTime() const {
105 return _currentElapsedTime;
106 }
107
111 const double& getCurrentEstimatedRemainingTime() const {
112 return _currentEstimatedRemainingTime;
113 }
114
118 const stdair::ProgressStatus& getCurrentProgressStatus() const {
119 return _currentProgressStatus;
120 }
121
125 const SEVMGR::ProgressStatusMap_T& getProgressStatusMap() const {
126 return _progressStatusMap;
127 }
128
129 public:
130 // //////////////// Setters /////////////////
134 void setSimulationPeriod (const stdair::Date_T& iStartDate,
135 const stdair::Date_T& iEndDate) {
136 _startDate = iStartDate;
137 _endDate = iEndDate;
138 setCurrentDate (iStartDate);
139 }
140
144 void setCurrentDate (const stdair::Date_T& iCurrentDate) {
145 _currentDate = iCurrentDate;
146 }
147
151 void updateProgress(const stdair::EventType::EN_EventType&,
152 const stdair::ProgressStatus&,
153 const double& iEventMeasure = 0);
154
158 void reset ();
159
163 void prepareNewRun ();
164
168 void setMode (const SimulationMode::EN_SimulationMode& iEN_SimulationMode) {
169 return _simulationMode.setMode(iEN_SimulationMode);
170 }
171
175 void increaseGlobalNumberOfBookings (const stdair::PartySize_T&);
176
180 void setCurrentProgressStatus (const stdair::ProgressStatus&);
181
185 void setTotalNumberOfRuns (const NbOfRuns_T& iNbOfRuns) {
186 _totalNumberOfRuns = iNbOfRuns;
187 }
188
189 public:
190 // /////////// Display support method /////////////
196 void toStream (std::ostream& ioOut) const {
197 ioOut << describe();
198 }
199
205 void fromStream (std::istream& ioIn) {
206 }
207
211 const std::string describe() const;
212
216 const std::string describeKey() const {
217 return _key.toString();
218 }
219
224 void displayStartStatusMessage () const;
225
229 void displayEndStatusMessage () const;
230
231 private:
232 void describeHelper(std::string&) const;
233
234 public:
239 SimulationStatus (const Key_T&);
240
245
250
251 private:
256
257 private:
258 // //////////////// Attributes /////////////////
262 Key_T _key;
263
267 stdair::Date_T _startDate;
268
272 stdair::Date_T _currentDate;
273
277 stdair::Date_T _endDate;
278
282 NbOfRuns_T _totalNumberOfRuns;
283
287 NbOfRuns_T _currentRun;
288
292 stdair::NbOfBookings_T _currentNbOfBookings;
293
297 stdair::NbOfBookings_T _totalNbOfBookings;
298
302 stdair::ProgressStatus _overallProgressStatus;
303
307 stdair::ProgressStatus _currentProgressStatus;
308
314 SEVMGR::ProgressStatusMap_T _progressStatusMap;
315
320 double _totalElapsedTime;
321 double _estimatedRemainingTime;
322
327 double _currentElapsedTime;
328 double _currentEstimatedRemainingTime;
329
335 ChronometerMap_T _chronometerMap;
336
340 SimulationMode _simulationMode;
341 };
342
343}
344#endif // __TVLSIM_BOM_SIMULATIONSTATUS_HPP
unsigned int NbOfRuns_T
std::map< stdair::EventType::EN_EventType, double > ChronometerMap_T
Enumeration of json commands.
static EN_SimulationMode getMode(const char)
void setMode(const EN_SimulationMode &iEN_SimulationMode)
const std::string toString() const
const stdair::Date_T & getCurrentDate() const
void setSimulationPeriod(const stdair::Date_T &iStartDate, const stdair::Date_T &iEndDate)
void setCurrentDate(const stdair::Date_T &iCurrentDate)
const stdair::NbOfBookings_T & getCurrentNumberOfBookings() const
void fromStream(std::istream &ioIn)
const stdair::Date_T & getEndDate() const
const NbOfRuns_T & getTotalNumberOfRuns() const
SimulationMode::EN_SimulationMode getMode() const
SimulationStatusKey Key_T
const double & getCurrentElapsedTime() const
void setMode(const SimulationMode::EN_SimulationMode &iEN_SimulationMode)
const double & getCurrentEstimatedRemainingTime() const
void toStream(std::ostream &ioOut) const
const std::string describe() const
const stdair::ProgressStatus & getCurrentProgressStatus() const
void setCurrentProgressStatus(const stdair::ProgressStatus &)
const std::string describeKey() const
const SimulationMode & getSimulationMode() const
void updateProgress(const stdair::EventType::EN_EventType &, const stdair::ProgressStatus &, const double &iEventMeasure=0)
void increaseGlobalNumberOfBookings(const stdair::PartySize_T &)
const SEVMGR::ProgressStatusMap_T & getProgressStatusMap() const
void setTotalNumberOfRuns(const NbOfRuns_T &iNbOfRuns)
const stdair::Date_T & getStartDate() const
const NbOfRuns_T & getCurrentRun() const