00001 #ifndef __STDAIR_BAS_DEMANDGENERATIONMETHOD_HPP 00002 #define __STDAIR_BAS_DEMANDGENERATIONMETHOD_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 00017 struct DemandGenerationMethod : public StructAbstract { 00018 public: 00019 typedef enum { 00020 POI_PRO = 0, 00021 STA_ORD, 00022 LAST_VALUE 00023 } EN_DemandGenerationMethod; 00024 00028 static const std::string& getLabel (const EN_DemandGenerationMethod&); 00029 00033 static EN_DemandGenerationMethod getMethod (const char); 00034 00038 static char getMethodLabel (const EN_DemandGenerationMethod&); 00039 00043 static std::string getMethodLabelAsString (const EN_DemandGenerationMethod&); 00044 00048 static std::string describeLabels(); 00049 00053 EN_DemandGenerationMethod getMethod() const; 00054 00058 char getMethodAsChar() const; 00059 00063 std::string getMethodAsString() const; 00064 00069 const std::string describe() const; 00070 00071 public: 00075 bool operator== (const EN_DemandGenerationMethod&) const; 00076 00077 public: 00081 DemandGenerationMethod (const EN_DemandGenerationMethod&); 00085 DemandGenerationMethod (const char iMethod); 00089 DemandGenerationMethod (const std::string& iMethod); 00093 DemandGenerationMethod (const DemandGenerationMethod&); 00094 00095 private: 00099 DemandGenerationMethod(); 00100 00101 00102 private: 00106 static const std::string _labels[LAST_VALUE]; 00110 static const char _methodLabels[LAST_VALUE]; 00111 00112 private: 00113 // //////// Attributes ///////// 00117 EN_DemandGenerationMethod _method; 00118 }; 00119 00120 } 00121 #endif // __STDAIR_BAS_DEMANDGENERATIONMETHOD_HPP