• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • plugins
  • positionprovider
  • geoclue
  • GeoCute
SimpleDBusInterface.cpp
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2009 Eckhart Wörner <ewoerner@kde.org>
9 //
10 
11 #include "SimpleDBusInterface.h"
12 
13 
14 
15 using namespace GeoCute;
16 
17 SimpleDBusInterface::SimpleDBusInterface(const QString& service,
18  const QString& path, const QString& interface,
19  const QDBusConnection& connection, QObject* parent)
20  : QObject(parent), p_connection(connection), p_interface(interface),
21  p_path(path), p_service(service)
22 {
23 }
24 
25 QDBusPendingCall SimpleDBusInterface::asyncCall(const QString& method) const
26 {
27  const QDBusMessage message
28  = QDBusMessage::createMethodCall(p_service, p_path, p_interface, method);
29  return p_connection.asyncCall(message);
30 }
31 
32 QDBusMessage SimpleDBusInterface::call(const QString& method,
33  const QVariant& arg1, const QVariant& arg2, const QVariant& arg3,
34  const QVariant& arg4, const QVariant& arg5, const QVariant& arg6,
35  const QVariant& arg7, const QVariant& arg8)
36 {
37  QDBusMessage message = QDBusMessage::createMethodCall(p_service, p_path,
38  p_interface, method);
39  QList<QVariant> arguments;
40  if (arg1.isValid())
41  arguments.append(arg1);
42  if (arg2.isValid())
43  arguments.append(arg1);
44  if (arg3.isValid())
45  arguments.append(arg1);
46  if (arg4.isValid())
47  arguments.append(arg1);
48  if (arg5.isValid())
49  arguments.append(arg1);
50  if (arg6.isValid())
51  arguments.append(arg1);
52  if (arg7.isValid())
53  arguments.append(arg1);
54  if (arg8.isValid())
55  arguments.append(arg1);
56  message.setArguments(arguments);
57  return p_connection.call(message);
58 }
59 
60 void SimpleDBusInterface::callWithCallback(const QString& method,
61  const QList<QVariant>& args, QObject* receiver, const char* returnMethod,
62  const char* errorMethod) const
63 {
64  QDBusMessage message
65  = QDBusMessage::createMethodCall(p_service, p_path, p_interface, method);
66  message.setArguments(args);
67  p_connection.callWithCallback(message, receiver, returnMethod, errorMethod);
68 }
69 
70 void SimpleDBusInterface::connect(const QString& name, QObject* receiver,
71  const char* slot)
72 {
73  p_connection.connect(p_service, p_path, p_interface, name, receiver, slot);
74 }
75 
76 QString SimpleDBusInterface::interface() const
77 {
78  return p_interface;
79 }
80 
81 QString SimpleDBusInterface::path() const
82 {
83  return p_path;
84 }
85 
86 QString SimpleDBusInterface::service() const
87 {
88  return p_service;
89 }
90 
91 
92 
93 #include "SimpleDBusInterface.moc"
QDBusConnection::call
QDBusMessage call(const QDBusMessage &message, QDBus::CallMode mode, int timeout) const
GeoCute::SimpleDBusInterface::interface
QString interface() const
Definition: SimpleDBusInterface.cpp:76
GeoCute::SimpleDBusInterface::path
QString path() const
Definition: SimpleDBusInterface.cpp:81
SimpleDBusInterface.h
QDBusConnection
QDBusConnection::callWithCallback
bool callWithCallback(const QDBusMessage &message, QObject *receiver, const char *returnMethod, const char *errorMethod, int timeout) const
QList::append
void append(const T &value)
QObject
GeoCute::SimpleDBusInterface::connect
void connect(const QString &name, QObject *receiver, const char *slot)
Definition: SimpleDBusInterface.cpp:70
QDBusPendingCall
QString
QList< QVariant >
GeoCute::SimpleDBusInterface::asyncCall
QDBusPendingCall asyncCall(const QString &method) const
Definition: SimpleDBusInterface.cpp:25
GeoCute::SimpleDBusInterface::SimpleDBusInterface
SimpleDBusInterface(const QString &service, const QString &path, const QString &interface=QString(), const QDBusConnection &connection=QDBusConnection::sessionBus(), QObject *parent=0)
Definition: SimpleDBusInterface.cpp:17
QDBusMessage
GeoCute::SimpleDBusInterface::call
QDBusMessage call(const QString &method, const QVariant &arg1=QVariant(), const QVariant &arg2=QVariant(), const QVariant &arg3=QVariant(), const QVariant &arg4=QVariant(), const QVariant &arg5=QVariant(), const QVariant &arg6=QVariant(), const QVariant &arg7=QVariant(), const QVariant &arg8=QVariant())
Definition: SimpleDBusInterface.cpp:32
QDBusConnection::asyncCall
QDBusPendingCall asyncCall(const QDBusMessage &message, int timeout) const
QDBusMessage::setArguments
void setArguments(const QList< QVariant > &arguments)
QVariant::isValid
bool isValid() const
QDBusConnection::connect
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)
GeoCute::SimpleDBusInterface::service
QString service() const
Definition: SimpleDBusInterface.cpp:86
GeoCute::SimpleDBusInterface::callWithCallback
void callWithCallback(const QString &message, const QList< QVariant > &args, QObject *receiver, const char *returnMethod, const char *errorMethod) const
Definition: SimpleDBusInterface.cpp:60
QDBusMessage::createMethodCall
QDBusMessage createMethodCall(const QString &service, const QString &path, const QString &interface, const QString &method)
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal