00001 #ifndef __STDAIR_BAS_EVENTTYPE_HPP 00002 #define __STDAIR_BAS_EVENTTYPE_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // StdAir 00010 #include <stdair/basic/StructAbstract.hpp> 00011 00012 namespace stdair { 00013 00015 struct EventType : public StructAbstract { 00016 public: 00017 typedef enum { 00018 BKG_REQ = 0, 00019 CX, 00020 OPT_NOT_4_FD, 00021 OPT_NOT_4_NET, 00022 SKD_CHG, 00023 SNAPSHOT, 00024 RM, 00025 BRK_PT, 00026 LAST_VALUE 00027 } EN_EventType; 00028 00031 static const std::string& getLabel (const EN_EventType&); 00032 00034 static char getTypeLabel (const EN_EventType&); 00035 00037 static std::string getTypeLabelAsString (const EN_EventType&); 00038 00040 static std::string describeLabels(); 00041 00043 EN_EventType getType() const; 00044 00046 std::string getTypeAsString() const; 00047 00050 const std::string describe() const; 00051 00052 public: 00054 bool operator== (const EN_EventType&) const; 00055 00056 public: 00058 EventType (const EN_EventType&); 00060 EventType (const char iType); 00062 EventType (const EventType&); 00063 00064 private: 00066 EventType(); 00067 00068 00069 private: 00071 static const std::string _labels[LAST_VALUE]; 00073 static const char _typeLabels[LAST_VALUE]; 00074 00075 00076 private: 00077 // //////// Attributes ///////// 00079 EN_EventType _type; 00080 }; 00081 00082 } 00083 #endif // __STDAIR_BAS_EVENTTYPE_HPP