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
97 lines
2.9 KiB
//+----------------------------------------------------------------------------
|
|
//
|
|
// Windows NT Secure Server Roles Security Configuration Wizard
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 2002
|
|
//
|
|
// File: ServiceObj.cxx
|
|
//
|
|
// History: 12-Oct-01 Yanggao created
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
#include "pch.h"
|
|
#include "ServiceObj.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
ServiceObject::ServiceObject(String& xmlserviceName,
|
|
bool xmlinstalled,
|
|
DWORD xmlstartupCurrent,
|
|
DWORD xmlstartupDefault) :
|
|
_fRequired(false),
|
|
_fSelect(false),
|
|
_fInstalled(false)
|
|
{
|
|
installed = xmlinstalled;
|
|
startupCurrent = xmlstartupCurrent;
|
|
startupDefault = xmlstartupDefault;
|
|
serviceName = xmlserviceName;
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
ServiceObject::~ServiceObject()
|
|
{
|
|
LOG_DTOR(ServiceObject);
|
|
|
|
SERVICELIST::iterator i;
|
|
|
|
for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
|
|
{
|
|
dependenceList.erase(i);
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
bool ServiceObject::addDependent(ServiceObject* pobj)
|
|
{
|
|
dependenceList.push_back(pobj);
|
|
return true;
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
bool ServiceObject::removeDependent(String str)
|
|
{
|
|
SERVICELIST::iterator i = dependenceList.begin();
|
|
for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
|
|
{
|
|
if(((ServiceObject*)(*i))->serviceName.icompare(str) == 0)
|
|
{
|
|
dependenceList.erase(i);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
ServiceObject* ServiceObject::findDependent(String str)
|
|
{
|
|
SERVICELIST::iterator i = dependenceList.begin();
|
|
for(i=dependenceList.begin(); i!=dependenceList.end(); i++)
|
|
{
|
|
if(((ServiceObject*)(*i))->serviceName.icompare(str) == 0)
|
|
{
|
|
return (*i);
|
|
}
|
|
}
|
|
return NULL;
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
DWORD ServiceObject::getDependentCount()
|
|
{
|
|
return (DWORD)dependenceList.size();
|
|
}
|