|
|
/******************************************************************************
Class: CBaseLeafNode Purpose: BaseNode class for all the non container object. ******************************************************************************/ class CBaseLeafNode : public CLeafNode, public CBaseNode { public: CBaseLeafNode(CRoleComponentDataObject * pComponentDataObject, CAdminManagerNode* pAdminManagerNode, CBaseAz* pBaseAz); virtual ~CBaseLeafNode(); DECLARE_NODE_GUID() protected:
virtual HRESULT AddOnePageToList(IN CRolePropertyPageHolder* /*pHolder*/, IN UINT /*nPageNumber*/) { return HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS); }
private: public:
//
//Baseclass OverRides
//
virtual BOOL OnSetDeleteVerbState(DATA_OBJECT_TYPES type, BOOL* pbHide, CNodeList* pNodeList);
virtual void OnDelete(CComponentDataObject* pComponentData, CNodeList* pNodeList);
virtual LPCWSTR GetString(int nCol); virtual int GetImageIndex(BOOL bOpenImage);
virtual BOOL HasPropertyPages(DATA_OBJECT_TYPES type, BOOL* pbHideVerb, CNodeList* pNodeList);
virtual HRESULT CreatePropertyPages(LPPROPERTYSHEETCALLBACK, LONG_PTR, CNodeList*); void OnPropertyChange(CComponentDataObject* pComponentData, BOOL, long changeMask);
virtual BOOL CanCloseSheets(); };
/******************************************************************************
Class: CGroupNode Purpose: Snapin Node for Application Group Object ******************************************************************************/ class CGroupNode : public CBaseLeafNode { public: CGroupNode(CRoleComponentDataObject * pComponentDataObject, CAdminManagerNode* pAdminManagerNode, CBaseAz* pBaseAz, CRoleAz* pRoleAz = NULL);
virtual ~CGroupNode();
virtual HRESULT AddOnePageToList(CRolePropertyPageHolder *pHolder, UINT nPageNumber); virtual void OnDelete(CComponentDataObject* pComponentData, CNodeList* pNodeList);
virtual HRESULT DeleteAssociatedBaseAzObject();
private: CRoleAz* m_pRoleAz; };
/******************************************************************************
Class: CTaskNode Purpose: Snapin Node for Task Object ******************************************************************************/ class CTaskNode : public CBaseLeafNode { public: CTaskNode(CRoleComponentDataObject * pComponentDataObject, CAdminManagerNode* pAdminManagerNode, CBaseAz* pBaseAz); ~CTaskNode();
virtual HRESULT AddOnePageToList(CRolePropertyPageHolder *pHolder, UINT nPageNumber); };
/******************************************************************************
Class: COperationNode Purpose: Snapin Node for Operation Object ******************************************************************************/ class COperationNode : public CBaseLeafNode { public: COperationNode(CRoleComponentDataObject * pComponentDataObject, CAdminManagerNode* pAdminManagerNode, CBaseAz* pBaseAz); ~COperationNode();
virtual HRESULT AddOnePageToList(CRolePropertyPageHolder *pHolder, UINT nPageNumber);
};
/******************************************************************************
Class: CSidCacheNode Purpose: Snapin Node for Windows Users/Groups which are represented by SID ******************************************************************************/ class CSidCacheNode : public CBaseLeafNode { public: CSidCacheNode(CRoleComponentDataObject * pComponentDataObject, CAdminManagerNode* pAdminManagerNode, CBaseAz* pBaseAz, CRoleAz* pRoleAz); ~CSidCacheNode();
virtual void OnDelete(CComponentDataObject* pComponentData, CNodeList* pNodeList);
virtual HRESULT DeleteAssociatedBaseAzObject();
BOOL OnSetDeleteVerbState(DATA_OBJECT_TYPES , BOOL* pbHide, CNodeList* pNodeList); BOOL HasPropertyPages(DATA_OBJECT_TYPES type, BOOL* pbHideVerb, CNodeList* pNodeList);
private: CRoleAz* m_pRoleAz; };
|