00001 #ifndef FASTSHOWER_PRINTPINGERBASE_H 00002 #define FASTSHOWER_PRINTPINGERBASE_H 00003 00004 #ifndef FASTSHOWER_IPRINTPINGER_H 00005 #include "FastShowerUtils/Pinger/IPrintPinger.h" 00006 #endif 00007 00008 #ifndef STD_STRING_H 00009 #define STD_STRING_H 00010 #include <string> 00011 #endif 00012 00013 namespace FastShower{ 00018 using std::string; 00019 class IDebug; 00020 class PrintPingerBase: virtual public IPrintPinger{ 00021 public: 00022 PrintPingerBase(int indent=0):m_indent(indent){}; 00023 virtual IPinger* clone() const = 0; 00026 virtual void action(const IDebug*) = 0; 00028 virtual void operator++(); 00029 virtual void operator++(int); 00030 virtual std::string indent()const; 00031 private: 00032 int m_indent; 00033 static const int s_step; 00034 }; 00035 } 00036 #endif 00037 00038 00039