PlasmaActivitiesStats

cleaning.cpp
1/*
2 SPDX-FileCopyrightText: 2015, 2016 Ivan Cukic <ivan.cukic(at)kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#include <QDBusReply>
8#include <QDebug>
9
10#include "cleaning.h"
11#include "common/dbus/common.h"
12
13namespace KActivities
14{
15namespace Stats
16{
17void forgetResource(Terms::Activity activities, Terms::Agent agents, const QString &resource)
18{
19 QDBusMessage message = QDBusMessage::createMethodCall(KAMD_DBUS_SERVICE,
20 KAMD_DBUS_OBJECT_PATH("Resources/Scoring"),
21 KAMD_DBUS_OBJECT("ResourcesScoring"),
22 QStringLiteral("DeleteStatsForResource"));
23
24 for (const auto& activity: activities.values) {
25 for (const auto& agent: agents.values) {
26 message.setArguments({activity, agent, resource});
28 }
29 }
30}
31
32void forgetResources(const Query &query)
33{
34 QDBusMessage message = QDBusMessage::createMethodCall(KAMD_DBUS_SERVICE,
35 KAMD_DBUS_OBJECT_PATH("Resources/Scoring"),
36 KAMD_DBUS_OBJECT("ResourcesScoring"),
37 QStringLiteral("DeleteStatsForResource"));
38
39 for (const auto& activity: query.activities()) {
40 for (const auto& agent: query.agents()) {
41 for (const auto& urlFilter: query.urlFilters()) {
42 message.setArguments({activity, agent, urlFilter});
44 }
45 }
46 }
47}
48
49void forgetRecentStats(Terms::Activity activities, int count, TimeUnit what)
50{
51 QDBusMessage message = QDBusMessage::createMethodCall(KAMD_DBUS_SERVICE,
52 KAMD_DBUS_OBJECT_PATH("Resources/Scoring"),
53 KAMD_DBUS_OBJECT("ResourcesScoring"),
54 QStringLiteral("DeleteRecentStats"));
55
56 for (const auto& activity: activities.values) {
57 message.setArguments({QStringLiteral("DeleteRecentStats"),
58 activity,
59 count,
60 what == Hours ? QStringLiteral("h")
61 : what == Days ? QStringLiteral("d")
62 : QStringLiteral("m")});
64 }
65}
66
67void forgetEarlierStats(Terms::Activity activities, int months)
68{
69 QDBusMessage message = QDBusMessage::createMethodCall(KAMD_DBUS_SERVICE,
70 KAMD_DBUS_OBJECT_PATH("Resources/Scoring"),
71 KAMD_DBUS_OBJECT("ResourcesScoring"),
72 QStringLiteral("DeleteEarlierStats"));
73
74 for (const auto& activity: activities.values) {
75 message.setArguments({QStringLiteral("DeleteEarlierStats"), activity, months});
77 }
78}
79
80} // namespace Stats
81} // namespace KActivities
The activities system tracks resources (documents, contacts, etc.) that the user has used.
Definition query.h:54
KSERVICE_EXPORT KService::List query(FilterFunc filterFunc)
QDBusPendingCall asyncCall(const QDBusMessage &message, int timeout) const const
QDBusConnection sessionBus()
QDBusMessage createMethodCall(const QString &service, const QString &path, const QString &interface, const QString &method)
void setArguments(const QList< QVariant > &arguments)
Term to filter the resources according the activity in which they were accessed.
Definition terms.h:139
Term to filter the resources according the agent (application) which accessed it.
Definition terms.h:106
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 12:01:02 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.