00001 #ifndef __STDAIR_BAS_PROGRESSSTATUSSET_HPP 00002 #define __STDAIR_BAS_PROGRESSSTATUSSET_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iosfwd> 00009 #include <string> 00010 // StdAir 00011 #include <stdair/stdair_basic_types.hpp> 00012 #include <stdair/stdair_event_types.hpp> 00013 #include <stdair/basic/StructAbstract.hpp> 00014 #include <stdair/basic/EventType.hpp> 00015 #include <stdair/basic/ProgressStatus.hpp> 00016 00017 namespace stdair { 00018 00022 struct ProgressStatusSet : public StructAbstract { 00023 // ///////////// Getters /////////// 00031 const ProgressStatus& getTypeSpecificStatus() const { 00032 return _typeSpecificProgressStatus; 00033 } 00034 00043 const ProgressStatus& getSpecificGeneratorStatus() const { 00044 return _generatorProgressStatus; 00045 } 00046 00054 const ProgressStatus& getOverallStatus() const { 00055 return _overallProgressStatus; 00056 } 00057 00058 00059 // ///////////// Setters /////////// 00060 public: 00062 void setTypeSpecificStatus (const ProgressStatus& iProgressStatus) { 00063 _typeSpecificProgressStatus = iProgressStatus; 00064 } 00065 00068 void setSpecificGeneratorStatus (const ProgressStatus& iProgressStatus, 00069 const EventGeneratorKey_T& iKey) { 00070 _generatorProgressStatus = iProgressStatus; 00071 _generatorKey = iKey; 00072 } 00073 00076 void setOverallStatus (const ProgressStatus& iProgressStatus) { 00077 _overallProgressStatus = iProgressStatus; 00078 } 00079 00080 00081 // ////////// Display methods ////////// 00082 public: 00085 void fromStream (std::istream& ioIn); 00086 00088 const std::string describe() const; 00089 00090 00091 // ////////// Constructors and destructors ///////// 00092 public: 00094 ProgressStatusSet (const EventType::EN_EventType&); 00096 ProgressStatusSet (const ProgressStatusSet&); 00098 ~ProgressStatusSet(); 00099 00100 private: 00102 ProgressStatusSet (); 00103 00104 // ////////////////// Attributes ////////////////// 00105 private: 00109 const EventType::EN_EventType _eventType; 00110 00114 ProgressStatus _typeSpecificProgressStatus; 00115 00119 ProgressStatus _generatorProgressStatus; 00120 00124 ProgressStatus _overallProgressStatus; 00125 00129 EventGeneratorKey_T _generatorKey; 00130 }; 00131 00132 } 00133 #endif // __STDAIR_BAS_PROGRESSSTATUSSET_HPP