Windows-Server-2003/net/mmc/tapi/root.h

121 lines
3.5 KiB
C++

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
/**********************************************************************/
/*
root.h
TAPI 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 _ROOT_H
#define _ROOT_H
#ifndef _TAPIHAND_H
#include "tapihand.h"
#endif
#ifndef _TASK_H
#include <task.h>
#endif
#define COMPUTERNAME_LEN_MAX 255
typedef enum _ROOT_TASKS
{
ROOT_TASK_GETTING_STARTED,
ROOT_TASK_ADD_SERVER,
ROOT_TASK_MANAGE_TAPI,
ROOT_TASK_LAUNCH_TAPI,
ROOT_TASK_MAX
} ROOT_TASKS;
class CRootTasks : public CTaskList
{
public:
HRESULT Init(BOOL bExtension, BOOL bThisMachine, BOOL bNetServices);
private:
CStringArray m_arrayMouseOverBitmaps;
CStringArray m_arrayMouseOffBitmaps;
CStringArray m_arrayTaskText;
CStringArray m_arrayTaskHelp;
};
/*---------------------------------------------------------------------------
Class: CTapiRootHandler
---------------------------------------------------------------------------*/
class CTapiRootHandler : public CTapiHandler
{
// Interface
public:
CTapiRootHandler(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();
OVERRIDE_BaseHandlerNotify_OnRemoveChildren();
// Result handler functionality
OVERRIDE_BaseResultHandlerNotify_OnResultSelect();
OVERRIDE_ResultHandler_AddMenuItems();
OVERRIDE_ResultHandler_Command();
OVERRIDE_ResultHandler_OnGetResultViewType();
OVERRIDE_ResultHandler_TaskPadNotify();
OVERRIDE_ResultHandler_EnumTasks();
OVERRIDE_ResultHandler_TaskPadGetTitle();
public:
// helper routines
void CreateLocalTapiServer();
HRESULT AddServer(LPCWSTR pServerIp,
LPCTSTR pServerName,
BOOL bNewServer,
DWORD dwServerOptions = 0x00000000,
DWORD dwRefreshInterval = 0xffffffff,
BOOL bExtension = FALSE,
DWORD dwLineBuffSize = 0,
DWORD dwPhoneBuffSize = 0
);
HRESULT GetGroupName(CString * pstrGroupName);
HRESULT SetGroupName(LPCTSTR pszGroupName);
BOOL IsServerInList(ITFSNode * pRootNode, LPCTSTR pszNewName);
HRESULT AddServerSortedIp(ITFSNode * pNewNode, BOOL bNewServer);
HRESULT AddServerSortedName(ITFSNode * pNewNode, BOOL bNewServer);
public:
// CTapiHandler overrides
virtual HRESULT InitializeNode(ITFSNode * pNode);
// Implementation
private:
// Command handlers
HRESULT OnAddMachine(ITFSNode * pNode);
HRESULT OnImportOldList(ITFSNode * pNode);
BOOL OldServerListExists();
// helpers
HRESULT CheckMachine(ITFSNode * pRootNode, LPDATAOBJECT pDataObject);
HRESULT RemoveOldEntries(ITFSNode * pRootNode, LPCTSTR pszAddr);
protected:
CString m_strTaskpadTitle;
BOOL m_bTaskPadView;
};
#endif _ROOT_H