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.

85 lines
1.8 KiB

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