$treeview $search $mathjax
StdAir Logo  1.00.1
$projectbrief
$projectbrief
$searchbox

stdair/bom/PosChannel.hpp

Go to the documentation of this file.
00001 #ifndef __STDAIR_BOM_POSCHANNEL_HPP
00002 #define __STDAIR_BOM_POSCHANNEL_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STDAIR
00008 #include <stdair/bom/BomAbstract.hpp>
00009 #include <stdair/bom/PosChannelKey.hpp>
00010 #include <stdair/bom/PosChannelTypes.hpp>
00011 
00012 // Forward declaration
00013 namespace stdair {
00014 
00019   class PosChannel : public BomAbstract {
00020     template <typename BOM> friend class FacBom;  
00021     template <typename BOM> friend class FacCloneBom;
00022     friend class FacBomManager;
00023 
00024   public:
00025     // /////// Type definitions
00029     typedef PosChannelKey Key_T;
00030   
00031   public:
00032     // /////////// Display support methods /////////
00038     void toStream (std::ostream& ioOut) const {
00039       ioOut << toString();
00040     }
00041 
00047     void fromStream (std::istream& ioIn) {
00048     }
00049 
00053     std::string toString() const;
00054     
00058     const std::string describeKey() const {
00059       return _key.toString();
00060     }
00061 
00062   public:
00063     // ////////// Getters ////////////
00067     const Key_T& getKey() const {
00068       return _key;
00069     }
00070 
00074     BomAbstract* const getParent() const {
00075       return _parent;
00076     }
00077     
00081     const  stdair::HolderMap_T& getHolderMap() const {
00082       return _holderMap;
00083     }
00084     
00088     const CityCode_T& getPos() const {
00089       return _key.getPos();
00090     }
00091 
00095     const ChannelLabel_T& getChannel() const {
00096       return _key.getChannel();
00097     }
00098     
00099   protected:
00100     // ////////// Constructors and destructors /////////
00104     PosChannel (const Key_T&);
00105 
00109     virtual ~PosChannel();
00110 
00111   private:
00115     PosChannel ();
00116 
00120     PosChannel (const PosChannel&);
00121 
00122   protected:
00123     // ////////// Attributes /////////
00127     Key_T _key;
00128     
00132     BomAbstract* _parent;
00133 
00137     HolderMap_T _holderMap;
00138 
00139   };
00140 
00141 }
00142 #endif // __STDAIR_BOM_POSCHANNEL_HPP
00143