StdAir Logo  0.45.0
C++ Standard Airline IT Object Library
AirlineFeature.hpp
Go to the documentation of this file.
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