00001 #ifndef __AIRINV_BAS_FLIGHTTYPECODE_HPP 00002 #define __AIRINV_BAS_FLIGHTTYPECODE_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // StdAir 00010 #include <stdair/basic/StructAbstract.hpp> 00011 00012 namespace AIRINV { 00013 00015 struct FlightTypeCode : public stdair::StructAbstract { 00016 public: 00017 typedef enum { 00018 DOMESTIC = 0, 00019 INTERNATIONAL, 00020 GROUND_HANDLING, 00021 LAST_VALUE 00022 } EN_FlightTypeCode; 00023 00025 static const std::string& getLabel (const EN_FlightTypeCode&); 00026 00028 static const std::string& getCodeLabel (const EN_FlightTypeCode&); 00029 00031 static std::string describeLabels(); 00032 00034 EN_FlightTypeCode getCode() const; 00035 00037 const std::string describe() const; 00038 00039 00040 public: 00042 FlightTypeCode (const EN_FlightTypeCode&); 00044 FlightTypeCode (const std::string& iCode); 00045 00046 00047 private: 00049 static const std::string _labels[LAST_VALUE]; 00051 static const std::string _codeLabels[LAST_VALUE]; 00052 00053 00054 private: 00055 // //////// Attributes ///////// 00057 EN_FlightTypeCode _code; 00058 }; 00059 00060 } 00061 #endif // __AIRINV_BAS_FLIGHTTYPECODE_HPP