File indexing completed on 2024-05-05 05:48:31

0001 /*
0002     CT Cron Implementation
0003     --------------------------------------------------------------------
0004     SPDX-FileCopyrightText: 1999 Gary Meyer <gary@meyer.net>
0005     --------------------------------------------------------------------
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #include "ctSystemCron.h"
0010 
0011 #include <KLocalizedString>
0012 #include <KShell>
0013 
0014 #include <QFileInfo>
0015 
0016 #include "cthost.h"
0017 #include "cttask.h"
0018 #include "ctvariable.h"
0019 
0020 #include "kcm_cron_debug.h"
0021 
0022 CTSystemCron::CTSystemCron(const QString &crontabBinary)
0023     : CTCron()
0024 {
0025     d->systemCron = true;
0026     d->multiUserCron = true;
0027     d->currentUserCron = false;
0028 
0029     d->crontabBinary = crontabBinary;
0030 
0031     d->userLogin = i18n("root");
0032     d->userRealName = d->userLogin;
0033 
0034     d->initialTaskCount = 0;
0035     d->initialVariableCount = 0;
0036 
0037     // Don't set error if it can't be read, it means the user
0038     // doesn't have a crontab.
0039     const QString crontabFile = QStringLiteral("/etc/crontab");
0040     if (QFileInfo::exists(crontabFile)) {
0041         parseFile(crontabFile);
0042     }
0043 
0044     d->initialTaskCount = d->task.size();
0045     d->initialVariableCount = d->variable.size();
0046 }
0047 
0048 CTSystemCron::~CTSystemCron()
0049 {
0050 }