windows-nt/Source/XPSP1/NT/shell/cpls/appwzdui/event.h
2020-09-26 16:20:57 +08:00

54 lines
1.5 KiB
C++

#ifndef _EVENT_H_
#define _EVENT_H_
#include "iface.h" // for IARPEvent
//------------------------------------------------------------------------
//
// CEventBroker
//
// This class brokers events sent from the OSP to the OSP listener
// or the data source listener.
//
//------------------------------------------------------------------------
class CEventBroker : public IARPEvent
{
public:
// *** IUnknown ***
STDMETHOD_(ULONG, AddRef) (void);
STDMETHOD_(ULONG, Release) (void);
STDMETHOD(QueryInterface) (REFIID riid, LPVOID * ppvObj);
// *** IARPEvent ***
STDMETHOD(SetDataSourceListener)(DataSourceListener *);
STDMETHOD(IsOSPListener) (OLEDBSimpleProviderListener * posp);
STDMETHOD(SetOSPListener) (OLEDBSimpleProviderListener * posp);
STDMETHOD(AboutToDeleteRows) (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
STDMETHOD(DeletedRows) (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
STDMETHOD(RowsAvailable) (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
STDMETHOD(RowChanged) (DBROWCOUNT iRow);
STDMETHOD(LoadCompleted) (void);
STDMETHOD(LoadAborted) (void);
STDMETHOD(DataSetChanged) (void);
CEventBroker(LPWSTR pszQualifier);
~CEventBroker();
private:
ULONG _cRef;
DataSourceListener * _pdsl;
OLEDBSimpleProviderListener *_pospl;
BSTR _cbstrQualifier;
};
HRESULT CARPEvent_CreateInstance(REFIID riid, LPVOID * ppvObj, LPWSTR pszQualifier);
#endif // _EVENT_H_