|
|
|
/***************************************************************************
|
|
|
|
begin : Sun Oct 3 1999
|
|
|
|
copyright : (C) 1999 by Peter Putzer
|
|
|
|
email : putzer@kde.org
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
* the Free Software Foundation; version 2. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#include <ksv_service.h>
|
|
|
|
#include "leveldb.h"
|
|
|
|
|
|
|
|
KSVService::KSVService (const TQString &name, const TQString &basedir)
|
|
|
|
: name_ (name),
|
|
|
|
base_ (basedir)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
KSVService* KSVService::newService (const TQString &name, const TQString &basedir)
|
|
|
|
{
|
|
|
|
struct service service;
|
|
|
|
|
|
|
|
int result = ::readServiceInfo (basedir.local8Bit(), name.local8Bit(), &service );
|
|
|
|
|
|
|
|
if (!result)
|
|
|
|
{
|
|
|
|
KSVService* tmp = new KSVService(name, basedir);
|
|
|
|
tmp->desc_ = service.desc;
|
|
|
|
tmp->levels = service.levels;
|
|
|
|
tmp->kPriority = service.kPriority;
|
|
|
|
tmp->sPriority = service.sPriority;
|
|
|
|
|
|
|
|
return tmp;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return 0L;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
KSVService::~KSVService()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool KSVService::isOn (int level) const
|
|
|
|
{
|
|
|
|
return !::isOn (base_.local8Bit(), name_.local8Bit(), level );
|
|
|
|
}
|
|
|
|
|
|
|
|
bool KSVService::isConfigured (int level) const
|
|
|
|
{
|
|
|
|
return !::isConfigured (base_.local8Bit(), name_.local8Bit(), level);
|
|
|
|
}
|
|
|
|
|
|
|
|
int KSVService::set (int level, bool on)
|
|
|
|
{
|
|
|
|
struct service service;
|
|
|
|
service.name = strdup (name_.local8Bit());
|
|
|
|
service.desc = strdup (desc_.local8Bit());
|
|
|
|
service.levels = levels;
|
|
|
|
service.kPriority = kPriority;
|
|
|
|
service.sPriority = sPriority;
|
|
|
|
|
|
|
|
return ::doSetService ("/etc/rc.d", service, level, on);
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString KSVService::description () const
|
|
|
|
{
|
|
|
|
return desc_.stripWhiteSpace();
|
|
|
|
}
|