
// PublicDNSPluginConfigDlg.h : файл заголовка
//

#pragma once


// диалоговое окно CPublicDNSPluginConfigDlg
class CPublicDNSPluginConfigDlg : public CDHtmlDialog
{
// Создание
public:
	CPublicDNSPluginConfigDlg(CWnd* pParent = NULL);	// стандартный конструктор

// Данные диалогового окна
	enum { IDD = IDD_PUBLICDNSPLUGINCONFIG_DIALOG, IDH = IDR_HTML_PUBLICDNSPLUGINCONFIG_DIALOG };
    
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// поддержка DDX/DDV

// Реализация
protected:
	HICON m_hIcon;

	// Созданные функции схемы сообщений
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
	DECLARE_DHTML_EVENT_MAP()
    afx_msg void OnSize(UINT nType, int cx, int cy);
    afx_msg void OnClose();
public:
    bool m_bNoBreakStage;
    CString m_sFileVersion;
    HRESULT OnSetupClick(IHTMLElement* pElement);
    HRESULT OnExitClick(IHTMLElement* pElement);
    HRESULT DoAboutBox(IHTMLElement* pElement);
    afx_msg void OnDestroy();
    STDMETHOD(ShowContextMenu)(
        DWORD dwID,
        POINT* ppt,
        IUnknown* pcmdtReserved,
        IDispatch* pdispReserved
        );
    STDMETHOD(GetHostInfo)(
       DOCHOSTUIINFO *pInfo
    );
    CString m_sStatusStr;
    CString m_sDomainZoneName;
    HRESULT TestDnsZoneName(IHTMLElement* pElement);
    HRESULT TestPublicIP(IHTMLElement* pElement);
    HRESULT TestPrivateIP(IHTMLElement* pElement);
    HRESULT TestPublicRange(IHTMLElement* pElement);
    HRESULT TestPrivateRange(IHTMLElement* pElement);
    HRESULT TestPublicSubnet(IHTMLElement* pElement);
    HRESULT TestPrivateSubnet(IHTMLElement* pElement);
    CString m_sSetupImageSRC;
    HRESULT SaveParameters(IHTMLElement* pElement);
    virtual void OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl);
    bool m_bHTMLInit;
    HRESULT ReloadParameters(IHTMLElement* pElement);
    bool m_bServiceInstalled;
    CString m_sUninstallImageSRC;
    CString m_sRestartImageSRC;
    HRESULT OnUninstallClick(IHTMLElement* pElement);
    HRESULT OnRestartClick(IHTMLElement* pElement);
    CString m_sCopyRightDates;
    bool IsPublic(IP4_ADDRESS nIpAddress);
    virtual void OnCancel();
    virtual void OnOK();
    HRESULT TestPublicIPv6(IHTMLElement* pElement);
    HRESULT TestPrivateIPv6(IHTMLElement* pElement);
};
