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.

92 lines
2.0 KiB

  1. //+--------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1991 - 1992
  5. //
  6. // File: chinst.hxx
  7. //
  8. // Contents: DocFile child object maintenance code header file
  9. //
  10. // Classes: CChildInstance
  11. // CChildInstanceList
  12. //
  13. // History: 19-Nov-91 DrewB Created
  14. //
  15. //---------------------------------------------------------------
  16. #ifndef __CHINST_HXX__
  17. #define __CHINST_HXX__
  18. class PRevertable;
  19. SAFE_DFBASED_PTR(CBasedRevertablePtr, PRevertable);
  20. //+--------------------------------------------------------------
  21. //
  22. // Class: CChildInstanceList (cil)
  23. //
  24. // Purpose: Maintains a list of child instances
  25. //
  26. // Interface: See below
  27. //
  28. // History: 22-Jun-92 DrewB Created
  29. //
  30. //---------------------------------------------------------------
  31. class CChildInstanceList
  32. {
  33. public:
  34. inline CChildInstanceList(void);
  35. inline ~CChildInstanceList(void);
  36. void Add(PRevertable *prv);
  37. PRevertable *FindByName(CDfName const *pdfn);
  38. void DeleteByName(CDfName const *pdfn);
  39. void RemoveRv(PRevertable *prv);
  40. void EmptyCache (void);
  41. SCODE IsDenied(CDfName const *pdfn,
  42. DFLAGS const dwDFlagsCheck,
  43. DFLAGS const dwDFlagsAgainst);
  44. #ifdef NEWPROPS
  45. SCODE FlushBufferedData(int recursionlevel);
  46. #endif
  47. private:
  48. CBasedRevertablePtr _prvHead;
  49. };
  50. //+--------------------------------------------------------------
  51. //
  52. // Member: CChildInstanceList::CChildInstanceList, pubic
  53. //
  54. // Synopsis: ctor
  55. //
  56. // History: 22-Jun-92 DrewB Created
  57. //
  58. //---------------------------------------------------------------
  59. inline CChildInstanceList::CChildInstanceList(void)
  60. {
  61. _prvHead = NULL;
  62. }
  63. //+--------------------------------------------------------------
  64. //
  65. // Member: CChildInstanceList::~CChildInstanceList, public
  66. //
  67. // Synopsis: dtor
  68. //
  69. // History: 22-Jun-92 DrewB Created
  70. //
  71. //---------------------------------------------------------------
  72. inline CChildInstanceList::~CChildInstanceList(void)
  73. {
  74. msfAssert(_prvHead == NULL);
  75. }
  76. #endif