summaryrefslogtreecommitdiff
path: root/NSCmpts/RunScanDisk.h
blob: 79d261adba4487697a5669d1a1bd00bb5c1c487a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// RunScanDisk.h : Declaration of the CRunScanDisk

#ifndef __RUNSCANDISK_H_
#define __RUNSCANDISK_H_

#include "resource.h"       // main symbols
#include "..\Common\CmptData.h"
#include <contexthelp.h>

/////////////////////////////////////////////////////////////////////////////
// CRunScanDisk
class ATL_NO_VTABLE CRunScanDisk : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CRunScanDisk, &CLSID_RunScanDisk>,
	public ISupportErrorInfo,
	public IDispatchImpl<ISecureShutdownDOS, &IID_ISecureShutdownDOS, &LIBID_NightSecCmpts>,
	public IPropertyPageImpl<CRunScanDisk>,
	public CDialogImplEx,
	public CContextHelp<CRunScanDisk>
//	public CDialogImpl<CRunScanDisk>

{
// Construction
public:
	CRunScanDisk() : CDialogImplEx(IDD)
	{
		m_dwTitleID = IDS_TITLERunScanDiskProps;
		m_dwHelpFileID = IDS_NSHELPFILE;
		m_dwDocStringID = IDS_DOCSTRINGRunScanDiskProps;
	}
	~CRunScanDisk()
		{ ATLTRACE(_T("Destroying RunScanDisk\n")); }
	HRESULT FinalConstruct();


DECLARE_REGISTRY_RESOURCEID(IDR_RUNSCANDISK)

BEGIN_COM_MAP(CRunScanDisk)
	COM_INTERFACE_ENTRY(ISecureShutdownDOS)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
	COM_INTERFACE_ENTRY_IMPL(IPropertyPage)
END_COM_MAP()

// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// ISecureShutdownDOS
public:
	STDMETHOD(get_Info)(/*[in]*/ NightSecInfo nsItem, /*[out, retval]*/ VARIANT* pvVal);
	STDMETHOD(GetBatchText)(/*[out, retval]*/ BSTR* psText);
	STDMETHOD(SetData)(/*[in]*/ IUnknown* pUnk);

// Data
protected:
	CPropertyBag m_Data;

///////////////////////////////////////////////////////////////////
// Property Sheet Stuff

public:
	enum {IDD = IDD_RUNSCANDISK};

BEGIN_MSG_MAP(CRunScanDisk)
	MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
	COMMAND_HANDLER(IDC_AUTOFIX, BN_CLICKED, OnAutoFix)
	CHAIN_MSG_MAP(IPropertyPageImpl<CRunScanDisk>)
	CHAIN_MSG_MAP(CContextHelp<CRunScanDisk>)
END_MSG_MAP()

BEGIN_HELP_MAP(NS_HELP_FILE)
	HELP_ID(IDC_AUTOFIX, 4021)
	HELP_ID(IDC_SAVE, 4023)
	HELP_ID(IDC_NOSAVE, 4022)
END_HELP_MAP

// Property Sheet Messages
	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnAutoFix(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);


	STDMETHOD(Apply)(void)
	{
		ATLTRACE(_T("CClearInetCache::Apply\n"));

		HRESULT hr;
		HRESULT hrRet = S_OK;

		// Save AutoFix State
		hr = m_Data.WriteInt(_T("Auto Fix"), IsDlgButtonChecked(IDC_AUTOFIX));
		if(FAILED(hr)) hrRet = hr;

		// Save Cluster State
		hr = m_Data.WriteInt(_T("Save Clusters"), IsDlgButtonChecked(IDC_SAVE));
		if(FAILED(hr)) hrRet = hr;

		m_bDirty = FALSE;
		return hrRet;

	}

protected:
	bool UpdateAutoFix();

};

#endif //__RUNSCANDISK_H_