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

83 lines
1.9 KiB
C++

// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
#ifndef _methods_h
#define _methods_h
#include "props.h"
class CSingleViewCtrl;
class CMethodGrid : public CPropGrid
{
public:
CMethodGrid(CSingleViewCtrl* psv);
~CMethodGrid();
virtual BOOL Create(CRect& rc,
CWnd* pwndParent,
UINT nId,
BOOL bVisible);
virtual void Refresh();
virtual IWbemClassObject *CurrentObject();
virtual PropGridType GetPropGridType() {return MEHOD_GRID;}
protected:
// These virtuals access cimom.
virtual bool HasCol(int ico);
virtual HRESULT DoGet(IWbemClassObject* pco,
CGridRow *row,
BSTR Name,
long lFlags,
VARIANT *pVal,
CIMTYPE *pType,
long *plFlavor);
virtual HRESULT DoPut(IWbemClassObject* pco,
CGridRow *row,
BSTR Name,
long lFlags,
VARIANT *pVal,
CIMTYPE Type);
virtual HRESULT DoDelete(IWbemClassObject* pco, BSTR Name);
virtual HRESULT DoGetPropertyQualifierSet(IWbemClassObject* pco,
BSTR pProperty,
IWbemQualifierSet **ppQualSet);
BYTE GetQualifierSettings(int iRow, IWbemClassObject *pco);
void CheckQualifierSettings(IWbemClassObject* pco,
BSTR varMethName,
BYTE *retval,
bool *foundImp, bool *foundStatic);
virtual void OnBuildContextMenu(CMenu *pPopup,
int iRow);
virtual void ModifyCellEditContextMenu(int iRow, int iCol, CMenu& menu);
BSTR m_curPropName;
IWbemClassObject *m_renameInSig;
IWbemClassObject *m_renameOutSig;
//{{AFX_MSG(CPropGrid)
//}}AFX_MSG
afx_msg void OnCmdShowMethodParms();
afx_msg void OnCmdExeMethod();
DECLARE_MESSAGE_MAP()
virtual SCODE LoadProperty(const LONG lRowDst,
BSTR bstrPropName,
BOOL bEditValueOnly,
IWbemClassObject *clsObj = NULL);
};
#endif //_methods_h