|
|
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2000 Microsoft Corporation
//
// Module Name:
// ProvBase.h
//
// Implementation File:
// ProvBase.cpp
//
// Description:
// Definition of the CProvBase class.
//
// Author:
// Henry Wang (HenryWa) 24-AUG-1999
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
//////////////////////////////////////////////////////////////////////////////
// Include Files
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// Forward Declarations
//////////////////////////////////////////////////////////////////////////////
class CProvBase; class CProvBaseAssociation;
//////////////////////////////////////////////////////////////////////////////
// External Declarations
//////////////////////////////////////////////////////////////////////////////
/* main interface class, this class defines all operations can be performed
on this provider */ //class CSqlEval;
//////////////////////////////////////////////////////////////////////////////
//++
//
// class CProvBase
//
// Description:
// interface class defines all operations can be performed
//
//--
//////////////////////////////////////////////////////////////////////////////
class CProvBase { public: virtual SCODE EnumInstance( long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual SCODE GetObject( CObjPath & rObjPathIn, long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual SCODE ExecuteMethod( CObjPath & rObjPathIn, WCHAR * pwszMethodNameIn, long lFlagIn, IWbemClassObject * pParamsIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual SCODE PutInstance( CWbemClassObject & rInstToPutIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
virtual SCODE DeleteInstance( CObjPath & rObjPathIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
CProvBase( LPCWSTR pwszNameIn, CWbemServices * pNamespaceIn );
virtual ~CProvBase( void );
protected: CWbemServices * m_pNamespace; IWbemClassObject * m_pClass; _bstr_t m_bstrClassName;
}; //*** class CProvBase
//////////////////////////////////////////////////////////////////////////////
//++
//
// class CProvBaseAssociation
//
// Description:
// interface class defines all operations can be performed
//
//--
//////////////////////////////////////////////////////////////////////////////
class CProvBaseAssociation : public CProvBase { public: virtual SCODE EnumInstance( long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual SCODE GetObject( CObjPath & rObjPathIn, long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
virtual SCODE ExecuteMethod( CObjPath & rObjPathIn, WCHAR * pwszMethodNameIn, long lFlagIn, IWbemClassObject * pParamsIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
virtual SCODE PutInstance( CWbemClassObject & rInstToPutIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
virtual SCODE DeleteInstance( CObjPath & rObjPathIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) { return WBEM_E_NOT_SUPPORTED; }
CProvBaseAssociation( LPCWSTR pwszNameIn, CWbemServices * pNamespaceIn ) : CProvBase( pwszNameIn, pNamespaceIn ) { }
virtual ~CProvBaseAssociation( void ) { }
protected: void GetTypeName( _bstr_t & bstrClassNameOut, _bstr_t bstrProperty );
}; //*** class CProvBaseAssociation
|