00001 #ifndef __STDAIR_BOM_AIRLINEFEATURE_HPP 00002 #define __STDAIR_BOM_AIRLINEFEATURE_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // StdAir 00008 #include <stdair/stdair_rm_types.hpp> 00009 #include <stdair/bom/BomAbstract.hpp> 00010 #include <stdair/bom/AirlineFeatureKey.hpp> 00011 #include <stdair/bom/AirlineFeatureTypes.hpp> 00012 00013 namespace stdair { 00014 00016 class AirlineFeature : public BomAbstract { 00017 template <typename BOM> friend class FacBom; 00018 00019 public: 00020 // Type definitions. 00022 typedef AirlineFeatureKey Key_T; 00023 00024 public: 00025 // /////////// Getters //////////// 00027 const Key_T& getKey() const { 00028 return _key; 00029 } 00030 00031 public: 00032 // //////////// Setters ////////// 00034 void init (const ForecasterMode_T&, const HistoricalDataLimit_T&, 00035 const ControlMode_T&); 00036 00037 public: 00038 // /////////// Display support methods ///////// 00041 void toStream (std::ostream& ioOut) const { ioOut << toString(); } 00042 00045 void fromStream (std::istream& ioIn) { } 00046 00048 std::string toString() const; 00049 00051 const std::string describeKey() const { return _key.toString(); } 00052 00053 protected: 00055 AirlineFeature (); 00056 AirlineFeature (const AirlineFeature&); 00057 AirlineFeature (const Key_T&); 00059 virtual ~AirlineFeature(); 00060 00061 protected: 00062 // Attributes 00064 Key_T _key; 00065 00067 ForecasterMode_T _forecasterMode; 00068 00070 HistoricalDataLimit_T _historicalDataLimit; 00071 00073 ControlMode_T _controlMode; 00074 }; 00075 00076 } 00077 #endif // __STDAIR_BOM_AIRLINEFEATURE_HPP 00078