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

  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. CEventBroker(LPWSTR pszQualifier);
  31. ~CEventBroker();
  32. private:
  33. ULONG _cRef;
  34. DataSourceListener * _pdsl;
  35. OLEDBSimpleProviderListener *_pospl;
  36. BSTR _cbstrQualifier;
  37. };
  38. HRESULT CARPEvent_CreateInstance(REFIID riid, LPVOID * ppvObj, LPWSTR pszQualifier);
  39. #endif // _EVENT_H_