akonadi/contact
21 #include "qekigadialer.h" 23 #include "../dbusconnectionpool.h" 25 #include <KLocalizedString> 27 #include <QDBusConnectionInterface> 29 #include <QtCore/QProcess> 30 #include <QtDBus/QDBusConnection> 31 #include <QtDBus/QDBusConnectionInterface> 32 #include <QtDBus/QDBusInterface> 33 #include <QtDBus/QDBusReply> 37 static bool isEkigaServiceRegistered()
39 const QLatin1String service(
"org.ekiga.Ekiga");
41 QDBusConnectionInterface *
interface = QDBusConnection::sessionBus().interface();
42 if (interface->isServiceRegistered(service)) {
46 interface = Akonadi::DBusConnectionPool::threadConnection().interface();
47 if (interface->isServiceRegistered(service)) {
53 static QDBusInterface *searchEkigaDBusInterface()
55 const QLatin1String service(
"org.ekiga.Ekiga");
56 const QLatin1String path(
"/org/ekiga/Ekiga");
58 QDBusInterface *
interface = new QDBusInterface(service, path, QString(), QDBusConnection::sessionBus());
59 if (!interface->isValid()) {
61 interface = new QDBusInterface(service, path, QString(), Akonadi::DBusConnectionPool::threadConnection());
67 QEkigaDialer::QEkigaDialer(const QString &applicationName)
68 : QDialer(applicationName), mInterface(0)
72 QEkigaDialer::~QEkigaDialer()
77 bool QEkigaDialer::initializeEkiga()
80 if (!isEkigaServiceRegistered()) {
83 if (!QProcess::startDetached(QLatin1String(
"ekiga"), QStringList())) {
84 mErrorMessage = i18n(
"Unable to start ekiga process, check that ekiga executable is in your PATH variable.");
89 for (
int i = 0; i < runs; ++i) {
90 if (!isEkigaServiceRegistered()) {
99 mInterface = searchEkigaDBusInterface();
101 if (!mInterface->isValid()) {
105 mErrorMessage = i18n(
"Ekiga Public API (D-Bus) seems to be disabled.");
112 bool QEkigaDialer::dialNumber(
const QString &number)
114 if (!initializeEkiga()) {
117 QDBusReply<void> reply = mInterface->call(QLatin1String(
"Call"), number);
121 bool QEkigaDialer::sendSms(
const QString &number,
const QString &text)
125 mErrorMessage = i18n(
"Sending an SMS is currently not supported on Ekiga.");
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Thu Jul 25 2019 00:00:00 by
doxygen 1.8.15 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.