File indexing completed on 2024-05-05 03:50:35
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org> 0004 // 0005 0006 #ifndef GEOCUTE_SIMPLEDBUSINTERFACE_H 0007 #define GEOCUTE_SIMPLEDBUSINTERFACE_H 0008 0009 #include <QList> 0010 #include <QObject> 0011 #include <QString> 0012 #include <QVariant> 0013 #include <QDBusConnection> 0014 #include <QDBusMessage> 0015 #include <QDBusPendingCall> 0016 0017 0018 0019 namespace GeoCute 0020 { 0021 0022 class SimpleDBusInterface : public QObject 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 SimpleDBusInterface(const QString& service, const QString& path, 0028 const QString& interface = QString(), 0029 const QDBusConnection& connection = QDBusConnection::sessionBus(), 0030 QObject* parent = 0); 0031 QDBusPendingCall asyncCall(const QString& method) const; 0032 QDBusMessage call(const QString& method, 0033 const QVariant& arg1 = QVariant(), 0034 const QVariant& arg2 = QVariant(), 0035 const QVariant& arg3 = QVariant(), 0036 const QVariant& arg4 = QVariant(), 0037 const QVariant& arg5 = QVariant(), 0038 const QVariant& arg6 = QVariant(), 0039 const QVariant& arg7 = QVariant(), 0040 const QVariant& arg8 = QVariant()); 0041 void callWithCallback(const QString& message, 0042 const QList<QVariant>& args, QObject* receiver, 0043 const char* returnMethod, const char* errorMethod) const; 0044 void connect(const QString& name, QObject* receiver, 0045 const char* slot); 0046 QString interface() const; 0047 QString path() const; 0048 QString service() const; 0049 0050 private: 0051 QDBusConnection p_connection; 0052 const QString p_interface; 0053 const QString p_path; 0054 const QString p_service; 0055 }; 0056 0057 } 0058 0059 0060 0061 #endif