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

//+----------------------------------------------------------------------------
//
// 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();
}