Leaked source code of windows server 2003
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.
|
|
//////////////////////////////////////////////////////////////////////////////
/*++
Copyright (C) Microsoft Corporation
Module Name:
NodeWithResultChildrenList.h
Abstract:
This is the header file for CNodeWithResultChildrenList, a class which implements a node that has a list of scope pane children.
This is an inline template class. Include NodeWithScopeChildrenList.cpp in the .cpp files of the classes in which you use this template.
Author:
Michael A. Maguire 12/03/97
Revision History: mmaguire 12/03/97 - created based on old ClientsNode.h
--*/ //////////////////////////////////////////////////////////////////////////////
#if !defined(_NODE_WITH_RESULT_CHILDREN_LIST_H_)
#define _NODE_WITH_RESULT_CHILDREN_LIST_H_
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// where we can find what this class derives from:
//
#include "SnapinNode.h"
//
//
// where we can find what this class has or uses:
//
#include <atlapp.h> // for CSimpleArray
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
template < class T, class CChildNode, class TArray, class TComponentData, class TComponent> class CNodeWithResultChildrenList : public CSnapinNode< T, TComponentData, TComponent > {
// Constructor/Destructor
public: CNodeWithResultChildrenList( CSnapInItem* pParentNode, unsigned int helpIndex = 0 ); ~CNodeWithResultChildrenList();
// Child list management.
public: virtual HRESULT AddSingleChildToListAndCauseViewUpdate( CChildNode * pChildNode ); virtual HRESULT RemoveChild( CChildNode * pChildNode ); virtual HRESULT UpdateResultPane(IResultData * pResultData); // Flag indicating whether list has been initially populated
BOOL m_bResultChildrenListPopulated; protected: // Override these in your derived classes
virtual HRESULT InsertColumns( IHeaderCtrl* pHeaderCtrl ); virtual HRESULT PopulateResultChildrenList( void ); virtual HRESULT RepopulateResultChildrenList( void ); // Stuff which must be accessible to subclasses. These methods shouldn't need to be overidden.
virtual HRESULT AddChildToList( CChildNode * pChildNode ); virtual HRESULT EnumerateResultChildren( IResultData * pResultData ); // Array of pointers to children nodes.
// This is protected so that it can be visible in the derived classes.
TArray m_ResultChildrenList;
// Overrides for standard MMC functionality.
public: virtual HRESULT OnShow( LPARAM arg , LPARAM param , IComponentData * pComponentData , IComponent * pComponent , DATA_OBJECT_TYPES type ); virtual HRESULT OnRefresh( LPARAM arg , LPARAM param , IComponentData * pComponentData , IComponent * pComponent , DATA_OBJECT_TYPES type ); };
#endif // _NODE_WITH_RESULT_CHILDREN_LIST_H_
|