Leaked source code of windows server 2003
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.

55 lines
1.7 KiB

  1. //+------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation, 1991 - 1997
  4. //
  5. // File: nottran.hxx
  6. //
  7. // Contents: Transaction object for notifications
  8. //
  9. // Classes: CNotificationTransaction
  10. //
  11. // History: 24-Feb-97 SitaramR Created
  12. //
  13. //-------------------------------------------------------------------
  14. #pragma once
  15. #include <xact.hxx>
  16. #include "abortwid.hxx"
  17. class CResManager;
  18. class CIndexNotificationTable;
  19. //+---------------------------------------------------------------------------
  20. //
  21. // Class: CNotificationTransaction
  22. //
  23. // Purpose: Transaction object for notifications
  24. //
  25. // History: 24-Feb-97 SitaramR Created
  26. //
  27. //----------------------------------------------------------------------------
  28. class CNotificationTransaction : public CTransaction
  29. {
  30. public:
  31. CNotificationTransaction( CResManager *pResManager, CIndexNotificationTable *pNotifTable );
  32. ~CNotificationTransaction();
  33. void AddCommittedWid( WORKID wid );
  34. void RemoveAbortedWid( WORKID wid, USN usn );
  35. private:
  36. CResManager * _pResManager; // Resman
  37. CIndexNotificationTable * _pNotifTable; // Notification table
  38. CDynArrayInPlace<WORKID> _aCommittedWids; // Wids whose notification transactions
  39. // must be committed
  40. CDynArrayInPlace<CAbortedWidEntry> _aAbortedWidsToRemove; // Wids that must be removed from
  41. // the aborted list
  42. };