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.
|
|
/*++
Copyright (c) 1994-1998 Microsoft Corporation
Module Name :
errordlg.h
Abstract:
Error dialog definitions
Author:
Ronald Meijer (ronaldm)
Project:
Internet Services Manager
Revision History:
--*/
#ifndef __ERRORDLG_H__
#define __ERRORDLG_H__
class CCustomError : public CObjectPlus /*++
Class Description:
Error definitions
Public Interface:
CCustomError : Constructors
IsURL : TRUE if the custom error is an URL IsFILE : TRUE if the custom error is a file IsDefault : TRUE if the custom error is a default error URLSupported : TRUE if URLS are supported for this error type SetValue : Set the value on the custom error MakeDefault : Make the error a default error
--*/ { //
// Error types
//
public: enum ERT { ERT_DEFAULT, ERT_FILE, ERT_URL, };
//
// Constructor
//
public: //
// Construct error definition from metabase error
// error description string.
//
CCustomError(LPCTSTR lpstrErrorString);
//
// Access
//
public: BOOL IsURL() const; BOOL IsFile() const; BOOL IsDefault() const; BOOL URLSupported() const { return m_fURLSupported; } void MakeDefault(); void SetValue( IN ERT nType, IN LPCTSTR lpText );
//
// Helper Functions
//
public: //
// Build error string
//
void BuildErrorString( OUT CString & str );
//
// Parse the error string into component parts
//
static BOOL CrackErrorString( IN LPCTSTR lpstrErrorString, OUT UINT & nError, OUT UINT & nSubError, OUT ERT & nType, OUT CString & str );
//
// Sorting helper
//
int OrderByErrorNum( IN const CObjectPlus * pobAccess ) const;
protected: //
// Parse error description string into component parts
//
static void CrackErrorDescription( IN LPCTSTR lpstrErrorString, OUT UINT & nError, OUT UINT & nSubError, OUT BOOL & fURLSupported, OUT CString & str );
//
// Metabase values
//
protected: static LPCTSTR s_szSep; static LPCTSTR s_szFile; static LPCTSTR s_szURL; static LPCTSTR s_szNoSubError;
public: ERT m_nType; UINT m_nError; UINT m_nSubError; BOOL m_fURLSupported; CString m_str; CString m_strDefault; };
class CCustomErrorDlg : public CDialog /*++
Class Description:
HTTP Error dialog
Public Interface:
CCustomErrorDlg : Constructor
--*/ { //
// Construction
//
public: CCustomErrorDlg( IN CCustomError * pErr, IN BOOL fLocal, IN CWnd * pParent = NULL );
//
// Dialog Data
//
protected: //{{AFX_DATA(CCustomErrorDlg)
enum { IDD = IDD_ERROR_MAPPING }; int m_nMessageType; CString m_strTextFile; CEdit m_edit_TextFile; CStatic m_static_SubErrorPrompt; CStatic m_static_SubError; CStatic m_static_TextFilePrompt; CButton m_button_Browse; CButton m_button_OK; CComboBox m_combo_MessageType; CString m_strDefText; //}}AFX_DATA
//
// Overrides
//
protected: // ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCustomErrorDlg)
protected: virtual void DoDataExchange(CDataExchange * pDX); //}}AFX_VIRTUAL
//
// Implementation
//
protected: // Generated message map functions
//{{AFX_MSG(CCustomErrorDlg)
afx_msg void OnSelchangeComboMessageType(); afx_msg void OnButtonBrowse(); virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnChangeEditTextFile(); //}}AFX_MSG
DECLARE_MESSAGE_MAP()
BOOL SetControlStates();
private: BOOL m_fLocal; CString m_strFile; CString m_strURL; CCustomError * m_pErr; };
//
// Inline Expansion
//
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
inline BOOL CCustomError::IsURL() const { return m_nType == ERT_URL; }
inline BOOL CCustomError::IsFile() const { return m_nType == ERT_FILE; }
inline BOOL CCustomError::IsDefault() const { return m_nType == ERT_DEFAULT; }
inline void CCustomError::SetValue( IN ERT nType, IN LPCTSTR lpText ) { m_str = lpText; m_nType = nType; }
inline void CCustomError::MakeDefault() { m_nType = ERT_DEFAULT; }
#endif // __ERRORDLG_H__
|