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 ) ) {
55 QSflPhoneDialer::QSflPhoneDialer(
const QString &applicationName )
56 : QDialer( applicationName )
60 QSflPhoneDialer::~QSflPhoneDialer()
64 bool QSflPhoneDialer::initializeSflPhone()
67 if ( !isSflPhoneServiceRegistered() ) {
70 if ( !QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), QStringList() ) ) {
71 mErrorMessage = i18n(
"Unable to start sflphone-client-kde process, check that sflphone-client-kde executable is in your PATH variable." );
76 for (
int i = 0; i < runs; ++i ) {
77 if ( !isSflPhoneServiceRegistered() ) {
87 bool QSflPhoneDialer::dialNumber(
const QString &number)
89 if ( !initializeSflPhone() ) {
93 QStringList arguments;
94 arguments << QLatin1String(
"--place-call");
96 if (!QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), arguments)) {
103 bool QSflPhoneDialer::sendSms(
const QString &number,
const QString &text)
105 if ( !initializeSflPhone() ) {
109 QStringList arguments;
110 arguments << QLatin1String(
"--send-text");
112 arguments << QLatin1String(
"--message");
114 if (!QProcess::startDetached( QLatin1String(
"sflphone-client-kde" ), arguments)) {
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Nov 26 2013 09:03:48 by
doxygen 1.8.5 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.