windows-nt/Source/XPSP1/NT/admin/activec/conui/taskhost.h
2020-09-26 16:20:57 +08:00

91 lines
2.3 KiB
C++

//____________________________________________________________________________
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: taskhost.h
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 11/19/1997 RaviR Created
//____________________________________________________________________________
//
#ifndef TASKHOST_H__
#define TASKHOST_H__
class CTaskPadHost : public ITaskPadHost,
public CComObjectRoot
{
// Constructor & destructor
public:
CTaskPadHost() : m_pAMCView(NULL)
{
}
void Init(CAMCView* pv)
{
ASSERT(pv);
m_pAMCView = pv;
}
~CTaskPadHost()
{
m_pAMCView = NULL;
}
// ATL COM map
public:
BEGIN_COM_MAP(CTaskPadHost)
COM_INTERFACE_ENTRY(ITaskPadHost)
END_COM_MAP()
// ITaskPadHost methods
public:
STDMETHOD(TaskNotify )(BSTR szClsid, VARIANT * pvArg, VARIANT * pvParam);
STDMETHOD(GetTaskEnumerator )(BSTR szTaskGroup, IEnumTASK** ppEnumTASK);
STDMETHOD(GetPrimaryTask )(IExtendTaskPad** ppExtendTaskPad);
STDMETHOD(GetTitle )(BSTR szTaskGroup, BSTR * pbstrTitle);
STDMETHOD(GetDescriptiveText)(BSTR szTaskGroup, BSTR * pbstrDescriptiveText);
STDMETHOD(GetBackground )(BSTR szTaskGroup, MMC_TASK_DISPLAY_OBJECT * pTDO);
// STDMETHOD(GetBranding )(BSTR szTaskGroup, MMC_TASK_DISPLAY_OBJECT * pTDO);
STDMETHOD(GetListPadInfo )(BSTR szTaskGroup, MMC_ILISTPAD_INFO * pIListPadInfo);
// Implementation
private:
CAMCView* m_pAMCView;
IExtendTaskPadPtr m_spExtendTaskPadPrimary;
INodeCallback* _GetNodeCallback(void)
{
return m_pAMCView->GetNodeCallback();
}
IExtendTaskPad* _GetPrimaryExtendTaskPad()
{
if (m_spExtendTaskPadPrimary == NULL)
{
IExtendTaskPadPtr spExtendTaskPad;
HRESULT hr = GetPrimaryTask(&spExtendTaskPad);
if (SUCCEEDED(hr))
m_spExtendTaskPadPrimary.Attach(spExtendTaskPad.Detach());
}
ASSERT(m_spExtendTaskPadPrimary != NULL);
return m_spExtendTaskPadPrimary;
}
// Ensure that default copy constructor & assignment are not used.
CTaskPadHost(const CTaskPadHost& rhs);
CTaskPadHost& operator=(const CTaskPadHost& rhs);
}; // class CTaskPadHost
#endif // TASKHOST_H__