54 lines
1.5 KiB
C
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_
|