Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.9 KiB

//-----------------------------------------------------------------------------
//
// File: report.h
// Copyright (C) 1994-1997 Microsoft Corporation
// All rights reserved.
//
// Mechanism for reporting messages and such to people.
//
//-----------------------------------------------------------------------------
enum MessageSeverity
{
esNote,
esWarning,
esError,
esAbort
};
//
// 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 CReport // : virtual public CObject
{
public:
CReport();
virtual void AssertValid(void) const;
virtual void Activate(void);
virtual void Clear(void);
enum ConfidenceLevel
{
Low,
High
};
virtual void SetConfidenceLevel(ConfidenceLevel);
virtual void IssueMessage(MessageSeverity, const CLString &strContext,
const CLString &strMessage, CGoto *pGoto = NULL,
CGotoHelp *pGotoHelp = NULL) = 0;
NOTHROW static const CLString & GetErrorCodeText(MessageSeverity ms);
virtual ~CReport();
private:
//
// Prevent usage of copy constructor or assignment operator.
//
CReport(const CReport &);
const CReport &operator=(const CReport &);
//
// Text for MessageSeverities.
//
static CLString strSeverities[4];
friend void GlobalInitStrings(void);
};
#pragma warning(default: 4275)