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.
 
 
 
 
 
 

71 lines
2.1 KiB

#ifndef RootNode_h
#define RootNode_h
#include "resource.h"
#include <atlsnap.h>
#include <objidl.h>
#include "pop3.h"
#include <P3Admin.h>
class CServerNode;
typedef std::list<CServerNode*> SERVERLIST;
//////////////////////////////////////////////////////////////////////////////////
//
// CRootNode
//
//////////////////////////////////////////////////////////////////////////////////
class CRootNode : public CSnapInItemImpl<CRootNode>
{
public:
static const GUID* m_NODETYPE;
static const OLECHAR* m_SZNODETYPE;
static const OLECHAR* m_SZDISPLAY_NAME;
static const CLSID* m_SNAPIN_CLASSID;
CComPtr<IControlbar> m_spControlBar;
BEGIN_SNAPINCOMMAND_MAP(CRootNode, FALSE)
SNAPINCOMMAND_ENTRY( IDM_POP3_TOP_CONNECT, OnConnect )
END_SNAPINCOMMAND_MAP()
CRootNode();
virtual ~CRootNode();
STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
{
if ( type == CCT_SCOPE || type == CCT_RESULT )
{
return S_OK;
}
return S_FALSE;
}
STDMETHOD(GetScopePaneInfo)(SCOPEDATAITEM *pScopeDataItem);
STDMETHOD(GetResultPaneInfo)(RESULTDATAITEM *pResultDataItem);
STDMETHOD(GetResultViewType)( LPOLESTR* ppViewType, long* pViewOptions );
STDMETHOD(Notify)( MMC_NOTIFY_TYPE event,
LPARAM arg,
LPARAM param,
IComponentData* pComponentData,
IComponent* pComponent,
DATA_OBJECT_TYPES type);
// MenuItem Implementations
STDMETHOD(AddMenuItems) (LPCONTEXTMENUCALLBACK piCallback, long* pInsertionAllowed, DATA_OBJECT_TYPES type );
STDMETHOD(OnConnect) (bool& bHandled, CSnapInObjectRootBase* pObj );
// IPersistStream Implementations
STDMETHOD(Load) (IStream *pStream);
STDMETHOD(Save) (IStream *pStream);
public:
// Public function for children to delete themselves
HRESULT DeleteServer(CServerNode* pServerNode);
private:
SERVERLIST m_lServers;
};
#endif // RootNode_h