//---------------------------------------------------------------------------- // // 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 , public CDataObjectImpl , 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* pScope ) { ASSERT( NULL == m_pExtScopeObject ); m_pExtScopeObject = pScope; } CComObject* 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 *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