87 lines
2.7 KiB
C
87 lines
2.7 KiB
C
|
/**********************************************************************/
|
||
|
/** Microsoft Windows/NT **/
|
||
|
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
|
||
|
/**********************************************************************/
|
||
|
|
||
|
/*
|
||
|
croot.h
|
||
|
DHCP root node information (the root node is not displayed
|
||
|
in the MMC framework but contains information such as
|
||
|
all of the servers in this snapin).
|
||
|
|
||
|
FILE HISTORY:
|
||
|
|
||
|
*/
|
||
|
|
||
|
#ifndef _CROOT_H
|
||
|
#define _CROOT_H
|
||
|
|
||
|
#ifndef _DHCPHAND_H
|
||
|
#include "dhcphand.h"
|
||
|
#endif
|
||
|
|
||
|
#define COMPUTERNAME_LEN_MAX 255
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
Class: CDhcpRootHandler
|
||
|
---------------------------------------------------------------------------*/
|
||
|
class CDhcpRootHandler : public CDhcpHandler
|
||
|
{
|
||
|
// Interface
|
||
|
public:
|
||
|
CDhcpRootHandler(ITFSComponentData *pCompData);
|
||
|
|
||
|
// Node handler functionality we override
|
||
|
OVERRIDE_NodeHandler_HasPropertyPages();
|
||
|
OVERRIDE_NodeHandler_CreatePropertyPages();
|
||
|
OVERRIDE_NodeHandler_OnAddMenuItems();
|
||
|
OVERRIDE_NodeHandler_OnCommand();
|
||
|
OVERRIDE_NodeHandler_GetString();
|
||
|
|
||
|
// base handler functionality we override
|
||
|
OVERRIDE_BaseHandlerNotify_OnExpand();
|
||
|
OVERRIDE_BaseHandlerNotify_OnPropertyChange();
|
||
|
|
||
|
// Result handler functionality
|
||
|
OVERRIDE_BaseResultHandlerNotify_OnResultSelect();
|
||
|
|
||
|
OVERRIDE_ResultHandler_AddMenuItems();
|
||
|
OVERRIDE_ResultHandler_Command();
|
||
|
OVERRIDE_ResultHandler_OnGetResultViewType();
|
||
|
|
||
|
public:
|
||
|
// helper routines
|
||
|
void CreateLocalDhcpServer();
|
||
|
HRESULT AddServer(LPCWSTR pServerIp, LPCTSTR pServerName, BOOL bNewServer, DWORD dwServerOptions = 0x00000000, DWORD dwRefreshInterval = 0xffffffff, BOOL bExtension = FALSE);
|
||
|
HRESULT GetGroupName(CString * pstrGroupName);
|
||
|
HRESULT SetGroupName(LPCTSTR pszGroupName);
|
||
|
|
||
|
BOOL IsServerInList(ITFSNode * pRootNode, DHCP_IP_ADDRESS dhcpIpAddressNew, CString & strName);
|
||
|
DWORD LoadOldServerList(ITFSNode * pRootNode);
|
||
|
HRESULT AddServerSortedIp(ITFSNode * pNewNode, BOOL bNewServer);
|
||
|
HRESULT AddServerSortedName(ITFSNode * pNewNode, BOOL bNewServer);
|
||
|
|
||
|
public:
|
||
|
// CDhcpHandler overrides
|
||
|
virtual HRESULT InitializeNode(ITFSNode * pNode);
|
||
|
|
||
|
// Implementation
|
||
|
private:
|
||
|
// Command handlers
|
||
|
HRESULT OnCreateNewServer(ITFSNode * pNode);
|
||
|
HRESULT OnBrowseServers(ITFSNode * pNode);
|
||
|
HRESULT OnImportOldList(ITFSNode * pNode);
|
||
|
BOOL OldServerListExists();
|
||
|
// helpers
|
||
|
HRESULT CheckMachine(ITFSNode * pRootNode, LPDATAOBJECT pDataObject);
|
||
|
HRESULT RemoveOldEntries(ITFSNode * pRootNode, DHCP_IP_ADDRESS dhcpAddress);
|
||
|
|
||
|
void UpdateResultMessage(ITFSNode * pNode);
|
||
|
|
||
|
private:
|
||
|
BOOL m_bMachineAdded;
|
||
|
BOOL m_fViewMessage;
|
||
|
};
|
||
|
|
||
|
#endif _CROOT_H
|