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.
115 lines
2.5 KiB
115 lines
2.5 KiB
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corporation, 1997 - 1998 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
compdata.h
|
|
base classes for IComponent and IComponentData
|
|
|
|
FILE HISTORY:
|
|
|
|
*/
|
|
|
|
#ifndef _COMPDATA_H
|
|
#define _COMPDATA_H
|
|
|
|
#if _MSC_VER >= 1000 // VC 5.0 or later
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef __mmc_h__
|
|
#include <mmc.h>
|
|
#endif
|
|
|
|
#ifndef _TFSINT_H
|
|
#include "tfsint.h"
|
|
#endif
|
|
|
|
#ifndef _UTIL_H
|
|
#include "util.h"
|
|
#endif
|
|
|
|
|
|
#define EXTENSION_TYPE_NAMESPACE ( 0x00000001 )
|
|
#define EXTENSION_TYPE_CONTEXTMENU ( 0x00000002 )
|
|
#define EXTENSION_TYPE_TOOLBAR ( 0x00000004 )
|
|
#define EXTENSION_TYPE_PROPERTYSHEET ( 0x00000008 )
|
|
#define EXTENSION_TYPE_TASK ( 0x00000010 )
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// TFSComponentData
|
|
|
|
#define IMPL
|
|
|
|
class TFSComponentData :
|
|
public ITFSComponentData,
|
|
public IComponentData,
|
|
public IExtendPropertySheet2,
|
|
public IExtendContextMenu,
|
|
public IPersistStreamInit,
|
|
public ISnapinHelp
|
|
{
|
|
// INTERFACES
|
|
public:
|
|
DeclareIUnknownMembers(IMPL)
|
|
DeclareIExtendContextMenuMembers(IMPL)
|
|
DeclareIExtendPropertySheetMembers(IMPL)
|
|
DeclareIComponentDataMembers(IMPL)
|
|
DeclareITFSComponentDataMembers(IMPL)
|
|
DeclareIPersistStreamInitMembers(IMPL)
|
|
DeclareISnapinHelpMembers(IMPL)
|
|
|
|
public:
|
|
TFSComponentData();
|
|
~TFSComponentData();
|
|
|
|
HRESULT Construct(ITFSCompDataCallback *pCallback);
|
|
|
|
public:
|
|
// Accessors
|
|
ITFSNodeMgr * QueryNodeMgr(); // no AddRef
|
|
ITFSNodeMgr * GetNodeMgr(); // AddRef
|
|
|
|
protected:
|
|
SPIConsoleNameSpace m_spConsoleNameSpace;
|
|
SPIConsole m_spConsole;
|
|
SPITFSNodeMgr m_spNodeMgr;
|
|
SPITFSCompDataCallback m_spCallback;
|
|
|
|
// Hidden window
|
|
private:
|
|
CHiddenWnd m_hiddenWnd; // syncronization with background threads
|
|
HWND m_hWnd; // thread safe HWND (gotten from the MFC CWnd)
|
|
|
|
BOOL m_bFirstTimeRun;
|
|
long m_cRef;
|
|
|
|
LPWATERMARKINFO m_pWatermarkInfo; // for wizard 97 style wizards
|
|
|
|
// taskpad stuff
|
|
BOOL m_fTaskpadInitialized;
|
|
DWORD m_dwTaskpadStates;
|
|
|
|
// help stuff
|
|
CString m_strHTMLHelpFileName;
|
|
};
|
|
|
|
|
|
|
|
|
|
inline ITFSNodeMgr * TFSComponentData::QueryNodeMgr()
|
|
{
|
|
return m_spNodeMgr;
|
|
}
|
|
|
|
inline ITFSNodeMgr * TFSComponentData::GetNodeMgr()
|
|
{
|
|
m_spNodeMgr->AddRef();
|
|
return m_spNodeMgr;
|
|
}
|
|
|
|
#endif _COMPDATA_H
|