1 #ifndef __SEVMGR_BOM_EVENTQUEUE_HPP 2 #define __SEVMGR_BOM_EVENTQUEUE_HPP 11 #include <stdair/stdair_basic_types.hpp> 12 #include <stdair/stdair_date_time_types.hpp> 13 #include <stdair/basic/ProgressStatusSet.hpp> 14 #include <stdair/basic/EventType.hpp> 15 #include <stdair/bom/BomAbstract.hpp> 16 #include <stdair/bom/EventTypes.hpp> 25 template <
typename BOM>
class FacBom;
70 friend class stdair::FacBomManager;
104 return _progressStatus;
108 return _progressStatus.getCurrentNb();
112 return _progressStatus.getExpectedNb();
116 return _progressStatus.getActualNb();
123 const stdair::ProgressStatus& getStatus (
const stdair::EventType::EN_EventType&)
const;
126 const stdair::Count_T& getCurrentNbOfEvents (
const stdair::EventType::EN_EventType&)
const;
129 const stdair::Count_T& getExpectedTotalNbOfEvents (
const stdair::EventType::EN_EventType&)
const;
132 const stdair::Count_T& getActualTotalNbOfEvents (
const stdair::EventType::EN_EventType&)
const;
136 bool hasProgressStatus (
const stdair::EventType::EN_EventType&)
const;
141 void setStatus (
const stdair::ProgressStatus& iProgressStatus) {
142 _progressStatus = iProgressStatus;
145 void setStatus (
const stdair::Count_T& iCurrentNbOfEvents,
146 const stdair::Count_T& iExpectedTotalNbOfEvents,
147 const stdair::Count_T& iActualTotalNbOfEvents) {
148 _progressStatus.setCurrentNb (iCurrentNbOfEvents);
149 _progressStatus.setExpectedNb (iExpectedTotalNbOfEvents);
150 _progressStatus.setActualNb (iActualTotalNbOfEvents);
153 void setStatus (
const stdair::Count_T& iCurrentNbOfEvents,
154 const stdair::Count_T& iActualTotalNbOfEvents) {
155 _progressStatus.setCurrentNb (iCurrentNbOfEvents);
156 _progressStatus.setActualNb (iActualTotalNbOfEvents);
160 _progressStatus.setCurrentNb (iCurrentNbOfEvents);
164 _progressStatus.setExpectedNb (iExpectedTotalNbOfEvents);
171 void setStatus (
const stdair::EventType::EN_EventType& iType,
172 const stdair::ProgressStatus& iProgressStatus);
197 std::string toString ()
const;
202 std::string list ()
const;
208 std::string list (
const stdair::EventType::EN_EventType&)
const;
214 return _key.toString();
225 std::string display ()
const;
249 stdair::ProgressStatusSet popEvent (stdair::EventStruct&);
271 bool addEvent (stdair::EventStruct&);
276 bool hasEventDateTime (
const stdair::DateTime_T&);
283 bool isQueueDone ()
const;
298 void addStatus (
const stdair::EventType::EN_EventType&,
299 const stdair::NbOfRequests_T& iExpectedTotalNbOfEvents);
309 void updateStatus (
const stdair::EventType::EN_EventType&,
310 const stdair::ProgressStatus& iProgressStatus);
325 void updateStatus (
const stdair::EventType::EN_EventType&,
326 const stdair::NbOfEvents_T& iActualTotalNbOfEvents);
339 return _progressStatus.progress();
352 stdair::ProgressPercentage_T calculateProgress (
const stdair::EventType::EN_EventType&)
const;
358 stdair::Count_T getQueueSize ()
const;
361 bool isQueueEmpty ()
const;
415 #endif // __SEVMGR_BOM_EVENTQUEUE_HPP void fromStream(std::istream &ioIn)
stdair::HolderMap_T _holderMap
const stdair::Count_T & getCurrentNbOfEvents() const
void setStatus(const stdair::Count_T &iCurrentNbOfEvents, const stdair::Count_T &iActualTotalNbOfEvents)
const stdair::HolderMap_T & getHolderMap() const
ProgressStatusMap_T _progressStatusMap
std::map< stdair::EventType::EN_EventType, stdair::ProgressStatus > ProgressStatusMap_T
const Key_T & getKey() const
void setStatus(const stdair::Count_T &iCurrentNbOfEvents, const stdair::Count_T &iExpectedTotalNbOfEvents, const stdair::Count_T &iActualTotalNbOfEvents)
void toStream(std::ostream &ioOut) const
void setExpectedTotalNbOfEvents(const stdair::Count_T &iExpectedTotalNbOfEvents)
const std::string describeKey() const
const stdair::Count_T & getActualTotalNbOfEvents() const
stdair::EventList_T _eventList
BomAbstract *const getParent() const
void setStatus(const stdair::ProgressStatus &iProgressStatus)
const stdair::EventList_T & getEventList() const
Class holding event structures.
const stdair::ProgressStatus & getStatus() const
const stdair::Count_T & getExpectedTotalNbOfEvents() const
stdair::ProgressPercentage_T calculateProgress() const
stdair::ProgressStatus _progressStatus
void setCurrentNbOfEvents(const stdair::Count_T &iCurrentNbOfEvents)