#include "accountmanagerproxy.h"
#include "accountproxy.h"
#include "accountcompatproxy.h"
+#include "connifacereqproxy.h"
#include <QDBusInterface>
#include <QDBusConnection>
#include <QStringList>
return status;
}
-//Create Vicar telepathy account (used installation)
+//Create Vicar telepathy account (used during installation)
bool TelepathyUtility::createAccount(){
AccountManagerProxy *amProxy = new AccountManagerProxy(AM_SERVICE,AM_OBJ_PATH,QDBusConnection::sessionBus(),this);
return true;
}
+bool TelepathyUtility::callNumberWithRing(QString number){
+
+ bool result = false;
+
+ ConnectionInterfaceRequestsProxy *requestsProxy = new ConnectionInterfaceRequestsProxy(RING_CONN_SERVICE,RING_CONN_PATH,QDBusConnection::sessionBus(),this);
+ if (requestsProxy->isValid()){
+ QVariantMap channelRequestDetails;
+ uint targetHandleType(1);
+ channelRequestDetails.insert("org.freedesktop.Telepathy.Channel.TargetHandleType",targetHandleType);
+ channelRequestDetails.insert("org.freedesktop.Telepathy.Channel.TargetID",number);
+ channelRequestDetails.insert("org.freedesktop.Telepathy.Channel.ChannelType","org.freedesktop.Telepathy.Channel.Type.StreamedMedia");
+ QDBusPendingReply<QDBusObjectPath,QVariantMap> dbusReply = requestsProxy->CreateChannel(channelRequestDetails);
+ dbusReply.waitForFinished();
+ if (!dbusReply.isError()){
+ QDBusObjectPath objPath = dbusReply.argumentAt<0>();
+ QVariantMap channelProperties = dbusReply.argumentAt<1>();
+ result = true;
+ }
+ else{
+ qDebug() << "Error occurred calling "<<number<< ". Error is "<< dbusReply.error();
+ result = false;
+ }
+ }
+
+ return result;
+}
+
+bool TelepathyUtility::sendDTMFTone(QString tone){
+ bool result = false;
+
+ return result;
+}
+
// Marshall the Presence data into a D-Bus argument
QDBusArgument &operator<<(QDBusArgument &argument, const SimplePresence &simplePresence)
{