|
|
//-----------------------------------------------------------------------------
//
// File: reporter.h
// Copyright (C) 1994-1997 Microsoft Corporation
// All rights reserved.
//
// Mechanism for reporting messages and such to people.
//
//-----------------------------------------------------------------------------
#ifndef ESPUTIL_REPORTER_H
#define ESPUTIL_REPORTER_H
//
// Basic output mechanism for Espresso 2.x. Allows the caller to uniformly
// report messages of various severities to the user without worrying about
// the exact implementation or destination.
//
// We provide ways of outputting strings, or for loading messages from string
// tables and outputting those.
//
// The confidence level allow the caller to tell the Reporter that messages
// will actually provide meaningful information. This is used (in particular)
// in the parsers when a file has not yet ever been parsed.
//
#pragma warning(disable: 4275) // non dll-interface class 'foo' used
// as base for dll-interface class 'bar'
class LTAPIENTRY CReporter : public CReport { public: CReporter() {};
void AssertValid(void) const;
virtual void IssueMessage(MessageSeverity, const CLString &strContext, const CLString &strMessage, CGoto *pGoto = NULL, CGotoHelp *pGotoHelp = NULL) = 0; //
// The usage of these versions of IssueMessage is discouraged. Use the
// versions with the CGoto objects instead.
virtual void IssueMessage(MessageSeverity, const CLString &strContext, const CLString &strMessage, const CLocation &, UINT uiHelpContext = 0);
virtual void IssueMessage(MessageSeverity, const CPascalString &strContext, const CLString &strMessage, const CLocation &, UINT uiHelpContext = 0);
virtual void IssueMessage(MessageSeverity, const CLString &strContext, HMODULE hResourceModule, UINT uiStringId, const CLocation &, UINT uiHelpContext = 0);
virtual void IssueMessage(MessageSeverity, HMODULE hResourceModule, UINT uiContext, const CLString &strMessage , const CLocation &, UINT uiHelpContext = 0); virtual void IssueMessage(MessageSeverity, HMODULE hResourceModule, UINT uiContext, UINT uiStringId, const CLocation &, UINT uiHelpContext = 0);
virtual void IssueMessage(MessageSeverity, const CContext &context, const CLString &strMessage, UINT uiHelpId = 0); virtual void IssueMessage(MessageSeverity, const CContext &context, HMODULE hResourceModule, UINT uiStringId, UINT uiHelpId = 0); virtual ~CReporter();
private: //
// Prevent usage of copy constructor or assignment operator.
//
CReporter(const CReporter &); const CReporter &operator=(const CReporter &);
};
#pragma warning(default: 4275)
#endif // ESPUTIL_REPORTER_H
|