KDBusAddons 5.109.0
kdbusservice.h
1/*
2 This file is part of libkdbusaddons
3
4 SPDX-FileCopyrightText: 2011 David Faure <faure@kde.org>
5 SPDX-FileCopyrightText: 2011 Kevin Ottens <ervin@kde.org>
6
7 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
8*/
9
10#ifndef KDBUSSERVICE_H
11#define KDBUSSERVICE_H
12
13#include <QObject>
14#include <QUrl>
15#include <memory>
16
17#include <kdbusaddons_export.h>
18
19class KDBusServicePrivate;
20
80class KDBUSADDONS_EXPORT KDBusService : public QObject
81{
82 Q_OBJECT
83
84public:
95 Unique = 1,
101 Multiple = 2,
111 NoExitOnFailure = 4,
121 Replace = 8
122 };
123 Q_ENUM(StartupOption)
124
125
129 Q_FLAG(StartupOptions)
130
146 explicit KDBusService(StartupOptions options = Multiple, QObject *parent = nullptr);
147
156 ~KDBusService() override;
157
165 bool isRegistered() const;
166
172 QString serviceName() const;
173
180 QString errorMessage() const;
181
195 void setExitValue(int value);
196
197Q_SIGNALS:
255 void activateRequested(const QStringList &arguments, const QString &workingDirectory);
256
268 void openRequested(const QList<QUrl> &uris);
269
281 void activateActionRequested(const QString &actionName, const QVariant &parameter);
282
283public Q_SLOTS:
291 void unregister();
292
293private:
294 // fdo.Application spec
295 KDBUSADDONS_NO_EXPORT void Activate(const QVariantMap &platform_data);
296 KDBUSADDONS_NO_EXPORT void Open(const QStringList &uris, const QVariantMap &platform_data);
297 KDBUSADDONS_NO_EXPORT void ActivateAction(const QString &action_name, const QVariantList &maybeParameter, const QVariantMap &platform_data);
298 friend class KDBusServiceAdaptor;
299
300 // org.kde.KDBusService
301 KDBUSADDONS_NO_EXPORT int CommandLine(const QStringList &arguments, const QString &workingDirectory, const QVariantMap &platform_data);
302 friend class KDBusServiceExtensionsAdaptor;
303
304private:
305 std::unique_ptr<KDBusServicePrivate> const d;
306};
307
308Q_DECLARE_OPERATORS_FOR_FLAGS(KDBusService::StartupOptions)
309
310#endif /* KDBUSSERVICE_H */
KDBusService takes care of registering the current process with D-Bus.
Definition kdbusservice.h:81
QFlags< StartupOption > StartupOptions
Stores a combination of #StartupOption values.
Definition kdbusservice.h:128
StartupOption
Options to control the behaviour of KDBusService.
Definition kdbusservice.h:89