00001
00002
00003 #ifndef ASGTOOLS_ASGMESSAGING_H
00004 #define ASGTOOLS_ASGMESSAGING_H
00005
00006
00007 #include <string>
00008
00009
00010 #include "AsgTools/AsgToolsConf.h"
00011 #include "AsgTools/MsgStream.h"
00012 #include "AsgTools/MsgStreamMacros.h"
00013
00014
00015 #ifdef ASGTOOL_ATHENA
00016 # include "AthenaBaseComps/AthMessaging.h"
00017 #endif // ASGTOOL_ATHENA
00018
00019 namespace asg {
00020
00021
00022 class IAsgTool;
00023
00036 class AsgMessaging
00037 #ifdef ASGTOOL_ATHENA
00038 : public ::AthMessaging
00039 #endif // ASGTOOL_ATHENA
00040 {
00041 public:
00043 AsgMessaging( const std::string& name );
00045 AsgMessaging( const IAsgTool* tool );
00046
00049
00056 bool msgLvl( const MSG::Level lvl ) const;
00057
00062 MsgStream& msg() const;
00063
00069 MsgStream& msg( const MSG::Level lvl ) const;
00070
00072
00073 #ifdef ASGTOOL_STANDALONE
00074 private:
00075 mutable MsgStream m_msg;
00076 #endif // ASGTOOL_STANDALONE
00077
00078 };
00079
00080 }
00081
00082 #endif // ASGTOOLS_ASGMESSAGING_H