The Gaudi Framework  v29r0 (ff2e7097)
IMessageSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IMESSAGESVC_H
2 #define GAUDIKERNEL_IMESSAGESVC_H
3 
4 // Include files
6 #include <iostream>
7 #include <string>
8 
9 // Forward declarations
10 class StatusCode;
11 class Message;
12 
14 namespace MSG
15 {
18 }
19 
20 #ifdef _WIN32
21 // Avoid (hopefully) conflicts between Windows' headers and MSG.
22 #ifndef NOMSG
23 #define NOMSG
24 #ifndef NOGDI
25 #define NOGDI
26 #endif
27 #endif
28 #endif
29 
38 class GAUDI_API IMessageSvc : virtual public IInterface
39 {
40 public:
43 
48  virtual void reportMessage( const Message& msg, int outputLevel ) = 0;
49 
53  virtual void reportMessage( const Message& message ) = 0;
54 
60  virtual void reportMessage( const StatusCode& code, const std::string& source = "" ) = 0;
61 
67  virtual void reportMessage( const std::string& source, int type, const std::string& message ) = 0;
68 
75  virtual void reportMessage( const char* source, int type, const char* message = "" ) = 0;
76 
81  virtual void insertMessage( const StatusCode& code, const Message& message ) = 0;
82 
84  virtual void eraseMessage() = 0;
85 
87  virtual void eraseMessage( const StatusCode& code ) = 0;
88 
93  virtual void eraseMessage( const StatusCode& code, const Message& message ) = 0;
94 
100  virtual void insertStream( int type, const std::string& name, std::ostream* stream ) = 0;
101 
103  virtual void eraseStream() = 0;
104 
106  virtual void eraseStream( int message_type ) = 0;
107 
112  virtual void eraseStream( int type, std::ostream* stream ) = 0;
113 
117  virtual void eraseStream( std::ostream* stream ) = 0;
118 
120  virtual std::ostream* defaultStream() const = 0;
121 
125  virtual void setDefaultStream( std::ostream* stream ) = 0;
126 
128  virtual int outputLevel() const = 0;
129 
133  virtual int outputLevel( const std::string& source ) const = 0;
134 
136  virtual void setOutputLevel( int new_level ) = 0;
137 
142  virtual void setOutputLevel( const std::string& source, int new_level ) = 0;
143 
146  virtual bool useColor() const = 0;
147 
151  virtual std::string getLogColor( int logLevel ) const = 0;
152 
155  virtual int messageCount( MSG::Level level ) const = 0;
156 };
157 
159 {
160 public:
163 
168  virtual void incrInactiveCount( MSG::Level level, const std::string& src ) = 0;
169 };
170 
171 #endif // GAUDIKERNEL_IMESSAGESVC_H
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:277
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:38
The Message class.
Definition: Message.h:15
Print levels enumeration.
Definition: IMessageSvc.h:14
#define GAUDI_API
Definition: Kernel.h:110
STL class.