00001 #ifndef FASTSHOWER_IINTAILPTR_H 00002 #define FASTSHOWER_IINTAILPTR_H 00003 00004 #ifndef FASTSHOWER_IINTAIL_H 00005 #include "FastShowerUtils/IInTail.h" 00006 #endif 00007 00008 #ifndef FASTSHOWER_SP_H 00009 #include "FastShowerUtils/SP.h" 00010 #endif 00011 00012 #ifndef FASTSHOWER_DEBUGBASE_H 00013 #include "FastShowerUtils/DebugBase.h" 00014 #endif 00015 00016 namespace FastShower{ 00021 class IInTailPtr: virtual public IInTail, private DebugBase{ 00022 public: 00023 IInTailPtr(IInTail* ptr, std::string s); 00024 IInTailPtr(const IInTailPtr &rhs); 00025 IInTailPtr& operator=(const IInTailPtr& s); 00026 00030 00031 virtual bool operator()(const PolyArgs&) const; 00032 virtual IInTail* clone() const; 00036 virtual void ping(IPinger& pinger) const; 00037 virtual std::string name() const; 00038 virtual void components(IDebug::Cpts& v) const; 00039 private: 00040 SP<IInTail> m_pointee; 00041 }; 00042 }//namspace 00043 #endif 00044 00045 00046