2
* Copyright (c) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Library General Public
6
* License version 2 as published by the Free Software Foundation.
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Library General Public License for more details.
13
* You should have received a copy of the GNU Library General Public License
14
* along with this library; see the file COPYING.LIB. If not, write to
15
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
* Boston, MA 02110-1301, USA.
19
#include "kactivityconsumer.h"
20
#include "kactivityconsumer_p.h"
21
#include "kactivitymanager_p.h"
25
KActivityConsumer::KActivityConsumer(QObject * parent)
26
: QObject(parent), d(new KActivityConsumerPrivate())
29
KActivityManager::self(), SIGNAL(CurrentActivityChanged(const QString &)),
30
this, SIGNAL(currentActivityChanged(const QString &))
34
KActivityConsumer::~KActivityConsumer()
39
// macro defines a shorthand for validating and returning a d-bus result
40
// @param TYPE type of the result
41
// @param METHOD invocation of the d-bus method
42
// @param DEFAULT value to be used if the reply was not valid
43
#define KACTIVITYCONSUMER_DBUS_RETURN(TYPE, METHOD, DEFAULT) \
44
QDBusReply < TYPE > dbusReply = METHOD; \
45
if (dbusReply.isValid()) { \
46
return dbusReply.value(); \
48
kDebug() << "d-bus reply was invalid" \
49
<< dbusReply.value() \
50
<< dbusReply.error(); \
54
QString KActivityConsumer::currentActivity() const
56
KACTIVITYCONSUMER_DBUS_RETURN(
57
QString, KActivityManager::self()->CurrentActivity(), QString() );
60
QStringList KActivityConsumer::listActivities(KActivityInfo::State state) const
62
KACTIVITYCONSUMER_DBUS_RETURN(
63
QStringList, KActivityManager::self()->ListActivities(state), QStringList() );
66
QStringList KActivityConsumer::listActivities() const
68
KACTIVITYCONSUMER_DBUS_RETURN(
69
QStringList, KActivityManager::self()->ListActivities(), QStringList() );
72
QStringList KActivityConsumer::activitiesForResource(const KUrl & uri)
74
KACTIVITYCONSUMER_DBUS_RETURN(
75
QStringList, KActivityManager::self()->ActivitiesForResource(uri.url()), QStringList() );
78
#undef KACTIVITYCONSUMER_DBUS_RETURN
80
void KActivityConsumer::resourceAccessed(const KUrl & uri)
82
KActivityManager::self()->NotifyResourceAccessed(
83
QCoreApplication::instance()->applicationName(),
88
void KActivityConsumer::resourceAccessed(WId wid, const KUrl & uri, ResourceAction action)
92
KActivityManager::self()->NotifyResourceOpened(
93
QCoreApplication::instance()->applicationName(),
100
KActivityManager::self()->NotifyResourceModified(
107
KActivityManager::self()->NotifyResourceClosed(
115
KActivityConsumer::ServiceStatus KActivityConsumer::serviceStatus()
117
if (!KActivityManager::isActivityServiceRunning()) {
121
if (!KActivityManager::self()->IsBackstoreAvailable()) {
122
return BareFunctionality;
125
return FullFunctionality;