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.
90 lines
2.2 KiB
90 lines
2.2 KiB
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) Microsoft Corporation
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// Declares the class Resolver and its subclasses.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef RESOLVER_H
|
|
#define RESOLVER_H
|
|
#pragma once
|
|
|
|
#include "dlgcshlp.h"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CLASS
|
|
//
|
|
// Resolver
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// Base class for a simple DNS name resolution dialog. This is specialized
|
|
// for client and server addresses.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
class Resolver : public CHelpDialog
|
|
{
|
|
public:
|
|
Resolver(UINT dialog, PCWSTR dnsName, CWnd* pParent = NULL);
|
|
~Resolver() throw ();
|
|
|
|
PCWSTR getChoice() const throw ()
|
|
{ return choice; }
|
|
|
|
protected:
|
|
// Defined in the derived class to display an error dialog if a name
|
|
// couldn't be resolved.
|
|
virtual void OnResolveError() = 0;
|
|
|
|
// Overridden in the defined class to determine if a name is already an
|
|
// address. If this function returns true, the name will be presented to the
|
|
// user 'as is'.
|
|
virtual BOOL IsAddress(PCWSTR sz) const throw ();
|
|
|
|
virtual BOOL OnInitDialog();
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
|
|
afx_msg void OnResolve();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
// Set (or reset) style flags associated with a button control.
|
|
void setButtonStyle(int controlId, long flags, bool set = true);
|
|
|
|
// Set the focus to a control on the page.
|
|
void setFocusControl(int controlId);
|
|
|
|
private:
|
|
CString name;
|
|
CString choice;
|
|
CListCtrl results;
|
|
|
|
// Not implemented.
|
|
Resolver(const Resolver&);
|
|
Resolver& operator=(const Resolver&);
|
|
};
|
|
|
|
class ServerResolver : public Resolver
|
|
{
|
|
public:
|
|
ServerResolver(PCWSTR dnsName, CWnd* pParent = NULL);
|
|
|
|
private:
|
|
virtual void OnResolveError();
|
|
};
|
|
|
|
class ClientResolver : public Resolver
|
|
{
|
|
public:
|
|
ClientResolver(PCWSTR dnsName, CWnd* pParent = NULL);
|
|
|
|
private:
|
|
virtual void OnResolveError();
|
|
virtual BOOL IsAddress(PCWSTR sz) const throw ();
|
|
};
|
|
|
|
#endif // RESOLVER_H
|