143 lines
4.9 KiB
C++
143 lines
4.9 KiB
C++
//----------------------------------------------------------------------------
|
||
//
|
||
// Microsoft Windows
|
||
// Copyright (C) Microsoft Corporation, 2001.
|
||
//
|
||
// File: Mngrfldr.h
|
||
//
|
||
// Contents: Wireless Policy Snapin - Policy Main Page Manager.
|
||
//
|
||
//
|
||
// History: TaroonM
|
||
// 10/30/01
|
||
//
|
||
//----------------------------------------------------------------------------
|
||
|
||
#ifndef _MNGRFLDR_H
|
||
#define _MNGRFLDR_H
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// class CWirelessManagerFolder - represents the MMC scope view item
|
||
|
||
class CWirelessManagerFolder :
|
||
public CWirelessSnapInDataObjectImpl <CWirelessManagerFolder>,
|
||
public CDataObjectImpl <CWirelessManagerFolder>,
|
||
public CComObjectRoot,
|
||
public CSnapObject
|
||
{
|
||
|
||
// ATL Maps
|
||
DECLARE_NOT_AGGREGATABLE(CWirelessManagerFolder)
|
||
BEGIN_COM_MAP(CWirelessManagerFolder)
|
||
COM_INTERFACE_ENTRY(IDataObject)
|
||
COM_INTERFACE_ENTRY(IWirelessSnapInDataObject)
|
||
END_COM_MAP()
|
||
|
||
public:
|
||
CWirelessManagerFolder ();
|
||
virtual ~CWirelessManagerFolder ();
|
||
|
||
virtual void Initialize (CComponentDataImpl* pComponentDataImpl, CComponentImpl* pComponentImpl, int nImage, int nOpenImage, BOOL bHasChildrenBox);
|
||
|
||
public:
|
||
// IWirelessSnapInDataObject interface
|
||
// handle IExtendContextMenu
|
||
STDMETHOD(AddMenuItems)( LPCONTEXTMENUCALLBACK piCallback,
|
||
long *pInsertionAllowed );
|
||
STDMETHOD(Command)( long lCommandID,
|
||
IConsoleNameSpace *pNameSpace );
|
||
STDMETHOD(QueryPagesFor)( void );
|
||
// Notify helper
|
||
STDMETHOD(OnPropertyChange)(LPARAM lParam, LPCONSOLE pConsole );
|
||
// let us know when we are 'bout to go away
|
||
STDMETHOD(Destroy)( void );
|
||
// handle IComponent and IComponentData
|
||
STDMETHOD(Notify)( MMC_NOTIFY_TYPE event,
|
||
LPARAM arg,
|
||
LPARAM param,
|
||
BOOL bComponentData,
|
||
IConsole *pConsole,
|
||
IHeaderCtrl *pHeader );
|
||
// handle IComponent
|
||
STDMETHOD(GetResultDisplayInfo)( RESULTDATAITEM *pResultDataItem );
|
||
// handle IComponentData
|
||
STDMETHOD(GetScopeDisplayInfo)( SCOPEDATAITEM *pScopeDataItem );
|
||
// IWirelessSnapInData
|
||
STDMETHOD(GetScopeData)( SCOPEDATAITEM **ppScopeDataItem );
|
||
STDMETHOD(GetGuidForCompare)( GUID *pGuid );
|
||
STDMETHOD(AdjustVerbState)(LPCONSOLEVERB pConsoleVerb);
|
||
STDMETHOD_(BOOL, UpdateToolbarButton)( UINT id, // button ID
|
||
BOOL bSnapObjSelected, // ==TRUE when result/scope item is selected
|
||
BYTE fsState ); // enable/disable this button state by returning TRUE/FALSE
|
||
void RemoveResultItem( LPUNKNOWN pUnkWalkingDead );
|
||
|
||
public:
|
||
STDMETHOD_(void, SetHeaders)(LPHEADERCTRL pHeader, LPRESULTDATA pResult);
|
||
STDMETHOD(EnumerateResults)(LPRESULTDATA pResult, int nSortColumn, DWORD dwSortOrder);
|
||
|
||
|
||
// ExtendContextMenu helpers
|
||
public:
|
||
// Note: The following IDM_* have been defined in resource.h because they
|
||
// are potential candidates for toolbar buttons. The value assigned to
|
||
// each IDM_* is the value of the related IDS_MENUDESCRIPTION_* string ID.
|
||
/*
|
||
enum
|
||
{
|
||
// Identifiers for each of the commands/views to be inserted into the context menu
|
||
IDM_CREATENEWSECPOL,
|
||
IDM_MANAGENEGPOLS_FILTERS,
|
||
IDM_IMPORTFILE,
|
||
IDM_EXPORTFILE,
|
||
IDM_POLICYINTEGRITYCHECK,
|
||
IDM_RESTOREDEFAULTPOLICIES
|
||
};
|
||
*/
|
||
|
||
// IExtendControlbar helpers
|
||
public:
|
||
BEGIN_SNAPINTOOLBARID_MAP(CWirelessManagerFolder)
|
||
SNAPINTOOLBARID_ENTRY(IDR_TOOLBAR_WIRELESS_MGR_SCOPE)
|
||
END_SNAPINTOOLBARID_MAP(CWirelessManagerFolder)
|
||
|
||
// Notify helpers
|
||
protected:
|
||
HRESULT ForceRefresh( LPRESULTDATA pResultData );
|
||
HRESULT OnScopeExpand( LPCONSOLENAMESPACE pConsoleNameSpace, HSCOPEITEM hScopeItem );
|
||
HRESULT OnAddImages(LPARAM arg, LPARAM param, IImageList* pImageList );
|
||
|
||
// attributes
|
||
public:
|
||
void SetExtScopeObject( CComObject<CWirelessManagerFolder>* pScope )
|
||
{
|
||
ASSERT( NULL == m_pExtScopeObject );
|
||
m_pExtScopeObject = pScope;
|
||
}
|
||
CComObject<CWirelessManagerFolder>* GetExtScopeObject() { return m_pExtScopeObject; }
|
||
LPSCOPEDATAITEM GetScopeItem() {return &m_ScopeItem;};
|
||
void SetNodeNameByLocation();
|
||
void LocationPageDisplayEnable (BOOL bOk) {m_bLocationPageOk = bOk;};
|
||
|
||
protected:
|
||
BOOL IsEnumerated() {return m_bEnumerated;};
|
||
void SetEnumerated(BOOL bState) { m_bEnumerated = bState; };
|
||
void GenerateUniqueSecPolicyName (CString& strName, UINT nID);
|
||
HRESULT CreateWirelessPolicy(PWIRELESS_POLICY_DATA pPolicy);
|
||
|
||
private:
|
||
CComObject <CWirelessManagerFolder> *m_pExtScopeObject; // NULL if we are a standalone snap-in
|
||
|
||
TCHAR *m_ptszResultDisplayName;
|
||
BOOL m_bEnumerated;
|
||
SCOPEDATAITEM m_ScopeItem;
|
||
BOOL m_bLocationPageOk;
|
||
|
||
DWORD m_dwSortOrder; // default is 0, else RSI_DESCENDING
|
||
int m_nSortColumn;
|
||
BOOL m_bScopeItemInserted;
|
||
int m_dwNumPolItems;
|
||
};
|
||
|
||
#endif
|
||
|