|  | //===-- LogMessage.h --------------------------------------------*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef LogMessage_h | 
|  | #define LogMessage_h | 
|  |  | 
|  | #include <string> | 
|  |  | 
|  | class LogMessage { | 
|  | public: | 
|  | virtual ~LogMessage(); | 
|  |  | 
|  | virtual bool HasActivity() const = 0; | 
|  |  | 
|  | virtual const char *GetActivity() const = 0; | 
|  |  | 
|  | virtual std::string GetActivityChain() const = 0; | 
|  |  | 
|  | virtual bool HasCategory() const = 0; | 
|  |  | 
|  | virtual const char *GetCategory() const = 0; | 
|  |  | 
|  | virtual bool HasSubsystem() const = 0; | 
|  |  | 
|  | virtual const char *GetSubsystem() const = 0; | 
|  |  | 
|  | // This can be expensive, so once we ask for it, we'll cache the result. | 
|  | virtual const char *GetMessage() const = 0; | 
|  |  | 
|  | protected: | 
|  | LogMessage(); | 
|  | }; | 
|  |  | 
|  | #endif /* LogMessage_h */ |