|
|
//***************************************************************************
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// events.h
//
// alanbos 27-Mar-00 Created.
//
// CSWbemEventSource definition
//
//***************************************************************************
#ifndef _EVENTS_H_
#define _EVENTS_H_
//***************************************************************************
//
// CLASS NAME:
//
// CSWbemEventSource
//
// DESCRIPTION:
//
// Implements the ISWbemEventSource interface.
//
//***************************************************************************
class CSWbemEventSource : public ISWbemEventSource, public ISupportErrorInfo, public IProvideClassInfo { private: CSWbemServices *m_pSWbemServices; CDispatchHelp m_Dispatch; CSWbemSecurity *m_SecurityInfo;
protected: long m_cRef; //Object reference count
public: CSWbemEventSource (CSWbemServices *pService, IEnumWbemClassObject *pEnum); ~CSWbemEventSource (void);
//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, LPVOID*); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
// IDispatch
STDMETHODIMP GetTypeInfoCount(UINT* pctinfo) {return m_Dispatch.GetTypeInfoCount(pctinfo);} STDMETHODIMP GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo** pptinfo) {return m_Dispatch.GetTypeInfo(itinfo, lcid, pptinfo);} STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR** rgszNames, UINT cNames, LCID lcid, DISPID* rgdispid) {return m_Dispatch.GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid);} STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexcepinfo, UINT* puArgErr) {return m_Dispatch.Invoke(dispidMember, riid, lcid, wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr);} // ISWbemEventSource methods
HRESULT STDMETHODCALLTYPE NextEvent ( /* [in] */ long iTimeout, /* [out] */ ISWbemObject **objEvent );
HRESULT STDMETHODCALLTYPE get_Security_ ( /* [in] */ ISWbemSecurity **ppSecurity );
// ISupportErrorInfo methods
HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo ( /* [in] */ REFIID riid );
// IProvideClassInfo methods
HRESULT STDMETHODCALLTYPE GetClassInfo ( /* [in,out] */ ITypeInfo **ppTI ) { return m_Dispatch.GetClassInfo (ppTI); }; };
#endif
|