event.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #ifndef _EVENT_H_
  2. #define _EVENT_H_
  3. #include "iface.h"          // for IARPEvent
  4. //------------------------------------------------------------------------
  5. //
  6. //  CEventBroker
  7. //
  8. //  This class brokers events sent from the OSP to the OSP listener
  9. //  or the data source listener.
  10. // 
  11. //------------------------------------------------------------------------
  12. class CEventBroker : public IARPEvent
  13. {
  14. public:
  15.     // *** IUnknown ***
  16.     STDMETHOD_(ULONG, AddRef)   (void);
  17.     STDMETHOD_(ULONG, Release)  (void);
  18.     STDMETHOD(QueryInterface)   (REFIID riid, LPVOID * ppvObj);
  19.     // *** IARPEvent ***
  20.     STDMETHOD(SetDataSourceListener)(DataSourceListener *);
  21.     STDMETHOD(IsOSPListener)        (OLEDBSimpleProviderListener * posp);
  22.     STDMETHOD(SetOSPListener)       (OLEDBSimpleProviderListener * posp);
  23.     STDMETHOD(AboutToDeleteRows)    (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
  24.     STDMETHOD(DeletedRows)          (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
  25.     STDMETHOD(RowsAvailable)        (DBROWCOUNT iRowStart, DBROWCOUNT cRows);
  26.     STDMETHOD(RowChanged)           (DBROWCOUNT iRow);
  27.     STDMETHOD(LoadCompleted)        (void);
  28.     STDMETHOD(LoadAborted)          (void);
  29.     STDMETHOD(DataSetChanged)       (void);
  30.     
  31.     CEventBroker(LPWSTR pszQualifier);
  32.     ~CEventBroker();
  33. private:
  34.     
  35.     ULONG _cRef;         
  36.     
  37.     DataSourceListener * _pdsl;
  38.     OLEDBSimpleProviderListener *_pospl;
  39.     BSTR _cbstrQualifier;
  40. };
  41. HRESULT CARPEvent_CreateInstance(REFIID riid, LPVOID * ppvObj, LPWSTR pszQualifier);
  42. #endif // _EVENT_H_