You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
4.1 KiB
159 lines
4.1 KiB
/******************************************************************************
|
|
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;
|
|
};
|
|
|
|
|