// Error DemoView.h : interface of the CErrorDemoView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_ERRORDEMOVIEW_H__7ED2997F_B2E5_11D0_BCDA_922B20000000__INCLUDED_)
#define AFX_ERRORDEMOVIEW_H__7ED2997F_B2E5_11D0_BCDA_922B20000000__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "LocalErrors.h"
#include "ErrorMessage.h"
#include "webbrowser.h"

#define MAX_MESSAGE 1024

//class CErrorMessage;

class CErrorDemoView : public CView
{
protected: // create from serialization only
	CErrorDemoView();
	DECLARE_DYNCREATE(CErrorDemoView)
	void CallExplorer( CString csURL );
	void CallWebDialog( CString csURL );
	void CallSaxDialog( CString csURL );
	void SimulatePnPMessage( int nMsg );
	void SimulatePnPMessage( int nMsg, int Event );

// Attributes
public:
	CErrorDemoDoc*	GetDocument();
	CMenu*			m_pMenu;
	ERRORMSG		m_cErrMsg;
	CWebBrowser2*	m_pBrowser;
	HKEY			m_hAppKey;

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CErrorDemoView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
	virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CErrorDemoView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	void PopupMenu( CPoint point );
	//{{AFX_MSG(CErrorDemoView)
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnSamplesFloatingmenu();
	afx_msg void OnConventionalCriticalerror();
	afx_msg void OnConventionalInformation();
	afx_msg void OnConventionalSevereerror();
	afx_msg void OnConventionalUsererror();
	afx_msg void OnFriendlyCriticalerror();
	afx_msg void OnFriendlyInformation();
	afx_msg void OnFriendlySevereerror();
	afx_msg void OnFriendlyUserError2();
	afx_msg void OnFriendlyUsererror();
	afx_msg void OnImprovedCriticalerror();
	afx_msg void OnImprovedInformation();
	afx_msg void OnImprovedSevereerror();
	afx_msg void OnImprovedUsererror();
	afx_msg void OnSamplesNerdogram();
	afx_msg void OnTimeoutInformation();
	afx_msg void OnTimeoutPopup();
	afx_msg void OnTimeoutRetry();
	afx_msg void OnTimeoutUsererror();
	afx_msg void OnTimeoutUsererror2();
	afx_msg void OnPopup();
	afx_msg void OnStageInit();
	afx_msg void OnExplorerLocal();
	afx_msg void OnExplorerOnline();
	afx_msg void OnAboutAuthor();
	afx_msg void OnDialogLocal();
	afx_msg void OnDialogOnline();
	afx_msg void OnConfigchangecanceled();
	afx_msg void OnConfigchanged();
	afx_msg void OnDevicearrival();
	afx_msg void OnDevicequeryremove();
	afx_msg void OnDevicequeryremovefailed();
	afx_msg void OnDeviceremovecomplete();
	afx_msg void OnDeviceremovepending();
	afx_msg void OnDevicetypespecific();
	afx_msg void OnUserdefined();
	afx_msg void OnQuerychangeconfig();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in Error DemoView.cpp
inline CErrorDemoDoc* CErrorDemoView::GetDocument()
   { return (CErrorDemoDoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ERRORDEMOVIEW_H__7ED2997F_B2E5_11D0_BCDA_922B20000000__INCLUDED_)

