////////////////////////////////////////////////////////////////////////////// /*++ Copyright (C) Microsoft Corporation Module Name: PolicyNode.h Abstract: Header file for the CPolicyNode subnode See PolicyNode.cpp for implementation. Revision History: mmaguire 12/15/97 - created --*/ ////////////////////////////////////////////////////////////////////////////// #if !defined(_NAP_POLICY_NODE_H_) #define _NAP_POLICY_NODE_H_ ////////////////////////////////////////////////////////////////////////////// // BEGIN INCLUDES // // where we can find what this class derives from: // #include "SnapinNode.h" #include "Condition.h" // // // For include file dependency reasons, we have forward declarations here, // and include the needed header files in our .cpp files. // #include "IASAttrList.h" class CPoliciesNode; class CPolicyPage1; class CPolicyPage2; class CComponentData; class CComponent; // // END INCLUDES ////////////////////////////////////////////////////////////////////////////// // policy node class CPolicyNode : public CSnapinNode< CPolicyNode, CComponentData, CComponent > { public: CPolicyNode(CSnapInItem* pParentNode, LPTSTR pszServerAddress, CIASAttrList* pAttrList, BOOL fBrandNewNode, BOOL fUseActiveDirectory, bool isWin2k ); ~CPolicyNode(); public: SNAPINMENUID(IDM_POLICY_NODE) BEGIN_SNAPINTOOLBARID_MAP(CPolicyNode) SNAPINTOOLBARID_ENTRY(IDR_POLICY_TOOLBAR) END_SNAPINTOOLBARID_MAP() BEGIN_SNAPINCOMMAND_MAP(CPolicyNode, TRUE) SNAPINCOMMAND_ENTRY(ID_MENUITEM_POLICY_TOP__MOVE_UP, OnPolicyMoveUp) SNAPINCOMMAND_ENTRY(ID_BUTTON_POLICY_MOVEUP, OnPolicyMoveUp) SNAPINCOMMAND_ENTRY(ID_MENUITEM_POLICY_TOP__MOVE_DOWN, OnPolicyMoveDown) SNAPINCOMMAND_ENTRY(ID_BUTTON_POLICY_MOVEDOWN, OnPolicyMoveDown) END_SNAPINCOMMAND_MAP() HRESULT OnPolicyMoveUp( bool &bHandled, CSnapInObjectRootBase* pObj ); HRESULT OnPolicyMoveDown( bool &bHandled, CSnapInObjectRootBase* pObj ); STDMETHOD(CreatePropertyPages)( LPPROPERTYSHEETCALLBACK pPropertySheetCallback , LONG_PTR handle , IUnknown* pUnk , DATA_OBJECT_TYPES type ); STDMETHOD(ControlbarNotify)(IControlbar *pControlbar, IExtendControlbar *pExtendControlbar, CSimpleMap* pToolbarMap, MMC_NOTIFY_TYPE event, LPARAM arg, LPARAM param, CSnapInObjectRootBase* pObj, DATA_OBJECT_TYPES type); STDMETHOD(QueryPagesFor)( DATA_OBJECT_TYPES type ); OLECHAR* GetResultPaneColInfo(int nCol); void UpdateMenuState(UINT id, LPTSTR pBuf, UINT *flags); BOOL UpdateToolbarButton(UINT id, BYTE fsState); virtual HRESULT OnRename( LPARAM arg , LPARAM param , IComponentData * pComponentData , IComponent * pComponent , DATA_OBJECT_TYPES type ); virtual HRESULT OnDelete( LPARAM arg , LPARAM param , IComponentData * pComponentData , IComponent * pComponent , DATA_OBJECT_TYPES type , BOOL fSilent ); virtual HRESULT OnPropertyChange( LPARAM arg , LPARAM param , IComponentData * pComponentData , IComponent * pComponent , DATA_OBJECT_TYPES type ); virtual HRESULT SetVerbs( IConsoleVerb * pConsoleVerb ); CComponentData * GetComponentData( void ); int GetMerit(); BOOL SetMerit(int nMeritValue); // // set the sdo pointer. Here we just need the PolicySdo pointer // HRESULT SetSdo( ISdo *pPolicySdo , ISdoDictionaryOld *pDictionarySdo , ISdo *pProfileSdo , ISdoCollection *pProfilesCollectionSdo , ISdoCollection *pPoliciesCollectionSdo , ISdoServiceControl * pSdoServiceControl ); HRESULT LoadSdoData(); BOOL IsBrandNew() { return m_fBrandNewNode;} void SetBrandNew(BOOL fBrandNew) { m_fBrandNewNode = fBrandNew; } LPTSTR m_pszServerAddress; // server name CPolicyPage1* m_pPolicyPage1; // pointer to the property page of this node CComPtr m_spPolicySdo; CComPtr m_spProfileSdo; protected: // Interface pointers to the Sdo objects. CComPtr m_spDictionarySdo; CComPtr m_spProfilesCollectionSdo; CComPtr m_spPoliciesCollectionSdo; // Smart pointer to interface for telling service to reload data. CComPtr m_spSdoServiceControl; // pointer to the global condition attribute list // CIASAttrList *m_pAttrList; private: int m_nMeritValue; // a numeric value, actually invoking sequence TCHAR m_tszMeritString[64]; // merit value in string format BOOL m_fBrandNewNode; // is this a new node? BOOL m_fUseActiveDirectory; // Are we getting this policy from active directory? LPTSTR m_ptzLocation; bool m_isWin2k; CSnapInObjectRootBase* m_pControBarNotifySnapinObj; }; #endif // _NAP_CLIENT_NODE_H_