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.

97 lines
2.9 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // Windows NT Secure Server Roles Security Configuration Wizard
  4. //
  5. // Microsoft Windows
  6. // Copyright (C) Microsoft Corporation, 1992 - 2002
  7. //
  8. // File: ServiceObj.cxx
  9. //
  10. // History: 12-Oct-01 Yanggao created
  11. //
  12. //-----------------------------------------------------------------------------
  13. #include "pch.h"
  14. #include "ServiceObj.h"
  15. ////////////////////////////////////////////////////////////////////////////////
  16. //
  17. //
  18. ////////////////////////////////////////////////////////////////////////////////
  19. ServiceObject::ServiceObject(String& xmlserviceName,
  20. bool xmlinstalled,
  21. DWORD xmlstartupCurrent,
  22. DWORD xmlstartupDefault) :
  23. _fRequired(false),
  24. _fSelect(false),
  25. _fInstalled(false)
  26. {
  27. installed = xmlinstalled;
  28. startupCurrent = xmlstartupCurrent;
  29. startupDefault = xmlstartupDefault;
  30. serviceName = xmlserviceName;
  31. }
  32. ////////////////////////////////////////////////////////////////////////////////
  33. //
  34. //
  35. ////////////////////////////////////////////////////////////////////////////////
  36. ServiceObject::~ServiceObject()
  37. {
  38. LOG_DTOR(ServiceObject);
  39. SERVICELIST::iterator i;
  40. for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
  41. {
  42. dependenceList.erase(i);
  43. }
  44. }
  45. ////////////////////////////////////////////////////////////////////////////////
  46. //
  47. //
  48. ////////////////////////////////////////////////////////////////////////////////
  49. bool ServiceObject::addDependent(ServiceObject* pobj)
  50. {
  51. dependenceList.push_back(pobj);
  52. return true;
  53. }
  54. ////////////////////////////////////////////////////////////////////////////////
  55. //
  56. //
  57. ////////////////////////////////////////////////////////////////////////////////
  58. bool ServiceObject::removeDependent(String str)
  59. {
  60. SERVICELIST::iterator i = dependenceList.begin();
  61. for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
  62. {
  63. if(((ServiceObject*)(*i))->serviceName.icompare(str) == 0)
  64. {
  65. dependenceList.erase(i);
  66. return true;
  67. }
  68. }
  69. return false;
  70. }
  71. ////////////////////////////////////////////////////////////////////////////////
  72. //
  73. //
  74. ////////////////////////////////////////////////////////////////////////////////
  75. ServiceObject* ServiceObject::findDependent(String str)
  76. {
  77. SERVICELIST::iterator i = dependenceList.begin();
  78. for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
  79. {
  80. if(((ServiceObject*)(*i))->serviceName.icompare(str) == 0)
  81. {
  82. return (*i);
  83. }
  84. }
  85. return NULL;
  86. }
  87. ////////////////////////////////////////////////////////////////////////////////
  88. //
  89. //
  90. ////////////////////////////////////////////////////////////////////////////////
  91. DWORD ServiceObject::getDependentCount()
  92. {
  93. return (DWORD)dependenceList.size();
  94. }