Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1.5 KiB

#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_