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.

86 lines
1.8 KiB

  1. //+--------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1996.
  5. //
  6. // File: revert.hxx
  7. //
  8. // Contents: PRevertable definition
  9. //
  10. // Classes: PRevertable
  11. //
  12. // Notes: This class forms the root of all objects in the
  13. // transaction tree that understand reversion.
  14. // It allows lists of them to be formed.
  15. //
  16. //---------------------------------------------------------------
  17. #ifndef __REVERT_HXX__
  18. #define __REVERT_HXX__
  19. #include "dfmsp.hxx"
  20. class CChildInstanceList;
  21. class PRevertable
  22. {
  23. public:
  24. virtual void RevertFromAbove(void) = 0;
  25. #ifdef NEWPROPS
  26. virtual SCODE FlushBufferedData() = 0;
  27. #endif
  28. inline DFLUID GetLuid(void) const;
  29. inline DFLAGS GetDFlags(void) const;
  30. inline PRevertable *GetNext(void) const;
  31. friend class CChildInstanceList;
  32. protected:
  33. DFLUID _luid;
  34. DFLAGS _df;
  35. CDfName _dfn;
  36. private:
  37. PRevertable *_prvNext;
  38. };
  39. //+--------------------------------------------------------------
  40. //
  41. // Member: PRevertable::GetLuid, public
  42. //
  43. // Synopsis: Returns the LUID
  44. //
  45. //---------------------------------------------------------------
  46. inline DFLUID PRevertable::GetLuid(void) const
  47. {
  48. return _luid;
  49. }
  50. //+--------------------------------------------------------------
  51. //
  52. // Member: PRevertable::GetDFlags, public
  53. //
  54. // Synopsis: Returns the flags
  55. //
  56. //---------------------------------------------------------------
  57. inline DFLAGS PRevertable::GetDFlags(void) const
  58. {
  59. return _df;
  60. }
  61. //+--------------------------------------------------------------
  62. //
  63. // Member: PRevertable::GetNext, public
  64. //
  65. // Synopsis: Returns the next revertable
  66. //
  67. //---------------------------------------------------------------
  68. inline PRevertable *PRevertable::GetNext(void) const
  69. {
  70. return _prvNext;
  71. }
  72. #endif // #ifndef __REVERT_HXX__