File indexing completed on 2024-05-19 16:38:20

0001 /*
0002     SPDX-FileCopyrightText: 2015, 2016 Ivan Cukic <ivan.cukic(at)kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include <QDBusReply>
0008 #include <QDebug>
0009 
0010 #include "cleaning.h"
0011 #include "common/dbus/common.h"
0012 
0013 namespace KActivities {
0014 namespace Stats {
0015 
0016 
0017 void forgetResource(Terms::Activity activities, Terms::Agent agents,
0018                     const QString &resource)
0019 {
0020     KAMD_DBUS_DECL_INTERFACE(scoring, "Resources/Scoring", "ResourcesScoring");
0021     for (const auto& activity: activities.values) {
0022         for (const auto& agent: agents.values) {
0023             scoring.call(QStringLiteral("DeleteStatsForResource"), activity, agent, resource);
0024         }
0025     }
0026 }
0027 
0028 void forgetResources(const Query &query)
0029 {
0030     KAMD_DBUS_DECL_INTERFACE(scoring, "Resources/Scoring", "ResourcesScoring");
0031     for (const auto& activity: query.activities()) {
0032         for (const auto& agent: query.agents()) {
0033             for (const auto& urlFilter: query.urlFilters()) {
0034                 scoring.call(QStringLiteral("DeleteStatsForResource"), activity, agent, urlFilter);
0035             }
0036         }
0037     }
0038 }
0039 
0040 void forgetRecentStats(Terms::Activity activities, int count, TimeUnit what)
0041 {
0042     KAMD_DBUS_DECL_INTERFACE(scoring, "Resources/Scoring", "ResourcesScoring");
0043     for (const auto& activity: activities.values) {
0044         /* clang-format off */
0045         scoring.call(QStringLiteral("DeleteRecentStats"), activity, count,
0046                 what == Hours  ? QStringLiteral("h") :
0047                 what == Days   ? QStringLiteral("d") :
0048                                  QStringLiteral("m")
0049             );
0050         /* clang-format on */
0051     }
0052 }
0053 
0054 void forgetEarlierStats(Terms::Activity activities, int months)
0055 {
0056     KAMD_DBUS_DECL_INTERFACE(scoring, "Resources/Scoring", "ResourcesScoring");
0057     for (const auto& activity: activities.values) {
0058         scoring.call(QStringLiteral("DeleteEarlierStats"), activity, months);
0059     }
0060 }
0061 
0062 } // namespace Stats
0063 } // namespace KActivities
0064