File indexing completed on 2024-05-12 05:48:34

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "apacheAccessLogMode.h"
0008 
0009 #include <QAction>
0010 
0011 #include <KLocalizedString>
0012 
0013 #include "ksystemlog_debug.h"
0014 
0015 #include "apacheAccessAnalyzer.h"
0016 #include "apacheAccessItemBuilder.h"
0017 #include "apacheConfiguration.h"
0018 #include "apacheConfigurationWidget.h"
0019 
0020 ApacheAccessLogMode::ApacheAccessLogMode(QSharedPointer<ApacheConfiguration> &apacheConfiguration, ApacheConfigurationWidget *apacheConfigurationWidget)
0021     : LogMode(QStringLiteral(APACHE_ACCESS_LOG_MODE_ID), i18n("Apache Access Log"), QStringLiteral(APACHE_ACCESS_MODE_ICON))
0022 {
0023     d->logModeConfiguration = apacheConfiguration;
0024     d->logModeConfigurationWidget = apacheConfigurationWidget;
0025 
0026     d->itemBuilder = new ApacheAccessItemBuilder();
0027 
0028     // Apache Log Action
0029     d->action = createDefaultAction();
0030     d->action->setToolTip(i18n("Display the Apache Access log."));
0031     d->action->setWhatsThis(
0032         i18n("Displays the Apache Access log in the current tab. Apache is the main used Web server in the world. "
0033              "This log saves all requests performed by the Apache web server."));
0034 
0035     checkLogFilesPresence(apacheConfiguration->apacheAccessPaths());
0036 }
0037 
0038 ApacheAccessLogMode::~ApacheAccessLogMode()
0039 {
0040 }
0041 
0042 Analyzer *ApacheAccessLogMode::createAnalyzer(const QVariant &options)
0043 {
0044     Q_UNUSED(options)
0045     return new ApacheAccessAnalyzer(this);
0046 }
0047 
0048 QVector<LogFile> ApacheAccessLogMode::createLogFiles()
0049 {
0050     auto *apacheConfiguration = logModeConfiguration<ApacheConfiguration *>();
0051     return apacheConfiguration->findNoModeLogFiles(apacheConfiguration->apacheAccessPaths());
0052 }
0053 
0054 #include "moc_apacheAccessLogMode.cpp"