Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IMessageSvc.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IMessageSvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $
00002 #ifndef GAUDIKERNEL_IMESSAGESVC_H
00003 #define GAUDIKERNEL_IMESSAGESVC_H
00004 
00005 // Include files
00006 #include "GaudiKernel/IInterface.h"
00007 #include <iostream>
00008 #include <string>
00009 
00010 // Forward declarations
00011 class StatusCode;
00012 class Message;
00013 
00014 // Declaration of the interface ID ( interface id, major version, minor version) 
00015 static const InterfaceID IID_IMessageSvc(30, 1 , 0); 
00016 
00018 namespace MSG   {
00019   enum Level   {
00020         NIL = 0,
00021         VERBOSE,
00022         DEBUG,
00023         INFO,
00024         WARNING,
00025         ERROR,
00026         FATAL,
00027         NUM_LEVELS
00028   };
00029 };
00030 
00039 class IMessageSvc : virtual public IInterface {
00040 public:
00041 
00043   static const InterfaceID& interfaceID() { return IID_IMessageSvc; }
00044 
00048   virtual void reportMessage( const Message& message ) = 0;
00049 
00055   virtual void reportMessage( const StatusCode& code, 
00056                               const std::string& source = "" ) = 0;
00057   
00063   virtual void reportMessage( const std::string& source, 
00064                               int type, 
00065                               const std::string& message ) = 0;
00066 
00073   virtual void reportMessage( const char* source,
00074                               int type,
00075                               const char* message = "" ) = 0;
00076   
00081   virtual void insertMessage( const StatusCode& code,
00082                               const Message& message ) = 0;
00083 
00085   virtual void eraseMessage() = 0;
00086 
00088   virtual void eraseMessage( const StatusCode& code ) = 0;
00089 
00094   virtual void eraseMessage( const StatusCode& code,
00095                              const Message& message  ) = 0;
00096 
00102   virtual void insertStream( int type,
00103                              const std::string& name, 
00104                              std::ostream* stream ) = 0;
00105 
00107   virtual void eraseStream() = 0;
00108   
00110   virtual void eraseStream( int message_type ) = 0;
00111   
00116   virtual void eraseStream( int type,
00117                             std::ostream* stream ) = 0;
00118 
00122   virtual void eraseStream( std::ostream* stream ) = 0;
00123 
00125   virtual std::ostream* defaultStream() const = 0;
00126 
00130   virtual void setDefaultStream( std::ostream* stream ) = 0;
00131 
00133   virtual int outputLevel()   const = 0;
00134 
00138   virtual int outputLevel( const std::string& source ) const = 0;
00139 
00141   virtual void setOutputLevel( int new_level )  = 0;
00142 
00147   virtual void setOutputLevel( const std::string& source, 
00148                                int new_level)  = 0;
00149 };
00150 
00151 #endif // GAUDIKERNEL_IMESSAGESVC_H

Generated at Wed Nov 21 12:22:04 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000