akonadi/contact
21 #include "qsflphonedialer.h"
22 #include "../dbusconnectionpool.h"
24 #include <KLocalizedString>
26 #include <QDBusConnectionInterface>
28 #include <QtCore/QProcess>
29 #include <QtDBus/QDBusConnection>
30 #include <QtDBus/QDBusConnectionInterface>
31 #include <QtDBus/QDBusInterface>
32 #include <QtDBus/QDBusReply>
37 static bool isSflPhoneServiceRegistered()
39 const QLatin1String service(
"org.sflphone.SFLphone" );
41 QDBusConnectionInterface *
interface = QDBusConnection::systemBus().interface();
42 if ( interface->isServiceRegistered( service ) ) {
46 interface = Akonadi::DBusConnectionPool::threadConnection().interface();
47 if ( interface->isServiceRegistered( service ) ) {
53 QSflPhoneDialer::QSflPhoneDialer(
const QString &applicationName )
54 : QDialer( applicationName )
58 QSflPhoneDialer::~QSflPhoneDialer()
62 bool QSflPhoneDialer::initializeSflPhone()
65 if ( !isSflPhoneServiceRegistered() ) {
68 if ( !QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), QStringList() ) ) {
69 mErrorMessage = i18n(
"Unable to start sflphone-client-kde process, check that sflphone-client-kde executable is in your PATH variable." );
74 for (
int i = 0; i < runs; ++i ) {
75 if ( !isSflPhoneServiceRegistered() ) {
85 bool QSflPhoneDialer::dialNumber(
const QString &number)
87 if ( !initializeSflPhone() ) {
91 QStringList arguments;
92 arguments << QLatin1String(
"--place-call");
94 if (!QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), arguments)) {
101 bool QSflPhoneDialer::sendSms(
const QString &number,
const QString &text)
103 if ( !initializeSflPhone() ) {
107 QStringList arguments;
108 arguments << QLatin1String(
"--send-text");
110 arguments << QLatin1String(
"--message");
112 if (!QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), arguments)) {
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:49 by
doxygen 1.8.7 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.