2025-04-27 07:49:33 -04:00

80 lines
1.9 KiB
C++

// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//***************************************************************************
//
// (c) 1996, 1997 by Microsoft Corporation
//
// mv.h
//
// This file contains the declarations for the CMultiView and CMultiViewContext
// classes. This class extends the CMultiViewBase class that is automatically
// generated by the component gallery.
//
// a-larryf 21-Feb-1997 Created.
//
//***************************************************************************
#ifndef _mv_h
#define _mv_h
#include "mvbase.h"
class CMultiView;
enum MV_VIEW_TYPE {SHOW_INSTANCE_ARRAY, SHOW_CLASS_INSTANCES, SHOW_QUERY_VIEW_INSTANCES};
class CMultiViewContext
{
public:
CMultiViewContext& operator=(CMultiViewContext& mvcSrc);
private:
MV_VIEW_TYPE m_iViewType;
CString m_sClassName;
BOOL m_bShowClassInstances;
COleVariant m_varPathArray;
BOOL m_bShowInstanceArray;
CString m_sSelectedInstance;
CString m_sNameSpace;
COleVariant m_varTitle;
// Query view instances state.
CString m_sQueryType;
CString m_sQuery;
friend class CMultiView;
};
class CWBEMViewContainerCtrl;
class CMultiView : public CMultiViewBase
{
public:
SCODE GetCurrentObjectPath(CString& sPath);
afx_msg void OnNotifyViewModified();
afx_msg void OnNotifySelectionChanged();
afx_msg void OnNotifySaveRequired();
afx_msg void OnNotifyViewObjectSelected(LPCTSTR szObjectPath);
afx_msg void OnNotifyContextChanged(long bPushContext);
afx_msg void OnGetIWbemServices(LPCTSTR lpctstrNamespace, VARIANT FAR* pvarUpdatePointer, VARIANT FAR* pvarServices, VARIANT FAR* pvarSC, VARIANT FAR* pvarUserCancel);
afx_msg void OnRequestUIActive();
DECLARE_EVENTSINK_MAP()
public:
CMultiView(CWBEMViewContainerCtrl* phmmv);
// Event catchers
private:
CWBEMViewContainerCtrl* m_phmmv;
};
#endif //_mv_h