Updated version number in files
[vicar] / src / vicar-telepathy / cpp / connection.cpp
index 58bbe92..612392e 100644 (file)
@@ -1,5 +1,5 @@
 /*
-@version: 0.6
+@version: 0.7
 @author: Sudheer K. <scifi1947 at gmail.com>
 @license: GNU General Public License
 
@@ -42,6 +42,8 @@ Based on Telepathy-SNOM with copyright notice below.
 #include <QDBusMessage>
 #include <QDBusReply>
 
+#define SELF_HANDLE 1  //Any non-zero
+
 
 namespace
 {
@@ -64,7 +66,7 @@ public:
         connection_status(Connection::Disconnected),
         adaptor(new ConnectionAdaptor(p)),
         connIfaceReqsAdaptor(new ConnectionInterfaceRequestsAdaptor(p)),
-        logUtility(new LogUtility("/var/log/vicar/vicar.log",p)),
+        logUtility(new LogUtility(p)),
         parent(p)
     {
         Q_ASSERT(0 != adaptor);
@@ -94,7 +96,6 @@ Connection::Connection(const QString & account,
 
     QString strMessage;
     strMessage = "DEBUG: In Connection Constructor";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 
     Q_ASSERT(0 != d);
@@ -117,7 +118,14 @@ Connection::Connection(const QString & account,
     this->setProperty("HasImmortalHandles",true);
 
     this->setProperty("Status",org::freedesktop::Telepathy::CONNECTION_STATUS_CONNECTED);
-    this->setProperty("SelfHandle",org::freedesktop::Telepathy::HANDLE_TYPE_CONTACT);
+
+    //this->setProperty("SelfHandle",org::freedesktop::Telepathy::HANDLE_TYPE_CONTACT);
+    uint selfHandle(SELF_HANDLE);
+    this->setProperty("SelfHandle",selfHandle);
+
+    strMessage = "VICaR Connection: Emitting SelfHandleChanged.";
+    d->logUtility->logMessage(strMessage);
+    emit SelfHandleChanged(selfHandle);
 
     //Set the property RequestableChannelClasses
     org::freedesktop::Telepathy::RequestableChannelClassList requestableChannelClasses;
@@ -155,8 +163,6 @@ Connection::Connection(const QString & account,
 
 
     strMessage = "VICaR Connection: Connection set up.";
-
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 }
 
@@ -174,7 +180,6 @@ bool Connection::registerObject()
         if (!QDBusConnection::sessionBus().registerService(serviceName()))
         {
             strMessage = "VICaR Connection: Problem registering connection service:" + serviceName();
-            qDebug() << strMessage;
             d->logUtility->logMessage(strMessage);
             return false;
         }
@@ -183,14 +188,12 @@ bool Connection::registerObject()
                                                           this))
         {
             strMessage = "VICaR Connection: Problem registering object path:" + objectPath().path();
-            qDebug() << strMessage;
             d->logUtility->logMessage(strMessage);
             return false;
         }
     }
     else{
         strMessage = "VICaR Connection: " + serviceName()+" is already registered on DBus";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
     }
     return true;
@@ -199,7 +202,6 @@ bool Connection::registerObject()
 void Connection::unregisterObject()
 {
     QString strMessage = "VICaR Connection: Unregistering Connection object from DBus";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     QDBusConnection::sessionBus().unregisterObject(objectPath().path());
     QDBusConnection::sessionBus().unregisterService(serviceName());
@@ -226,13 +228,11 @@ void Connection::Connect()
        I am not connecting to anything.
      */
     QString strMessage = "VICaR Connection: Changing status to Connected...";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     d->connection_status = Connection::Connected;
 
     //Let all the Telepathy clients know that connection status has changed
     strMessage = "VICaR Connection: Emitting StatusChanged.";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     emit StatusChanged(d->connection_status, ReasonRequested);
 }
@@ -240,13 +240,11 @@ void Connection::Connect()
 void Connection::Disconnect()
 {
     QString strMessage = "VICaR Connection: Changing status to Disconnected...";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     //We don't have any Handles to release here. So just change the status to Disconnected
     d->connection_status = Connection::Disconnected;
 
     strMessage = "VICaR Connection: Emitting StatusChanged";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     emit StatusChanged(d->connection_status, ReasonRequested);
 
@@ -258,6 +256,10 @@ void Connection::Disconnect()
 QStringList Connection::GetInterfaces()
 {
     QStringList result;
+
+    QString strMessage = "VICaR Connection: GetInterfaces.";
+    d->logUtility->logMessage(strMessage);
+
     if (d->connection_status != Connected)
     {
         sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
@@ -269,30 +271,35 @@ QStringList Connection::GetInterfaces()
 }
 
 QString Connection::GetProtocol()
-{ return protocol_vicar; }
+{
+    QString strMessage = "VICaR Connection: GetProtocol.";
+    d->logUtility->logMessage(strMessage);
+    return protocol_vicar;
+}
 
 uint Connection::GetStatus()
-{ return static_cast<uint>(d->connection_status); }
+{
+    QString strMessage = "VICaR Connection: GetStatus.";
+    d->logUtility->logMessage(strMessage);
+    return static_cast<uint>(d->connection_status);
+}
 
 uint Connection::GetSelfHandle()
 {
     QString strMessage = "VICaR Connection: GetSelfHandle";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     if (d->connection_status != Connected)
     {
         sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
                        "VICaR - Unable to get Self Handle. The connection is no longer available.");
         strMessage = "VICaR Connection: NOT CONNECTED when requesting selfhandle!";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
         return 0;
     }
 
     //WARNING: Incomplete implemenation
-    uint handle = 0;
-    strMessage = "VICaR Connection: Returning Handle " + QString(handle) + "as self handle.";
-    qDebug() << strMessage;
+    uint handle(SELF_HANDLE);
+    strMessage = "VICaR Connection: Returning Handle " + QString::number(handle) + "as self handle.";
     d->logUtility->logMessage(strMessage);
     return handle;
 }
@@ -300,6 +307,9 @@ uint Connection::GetSelfHandle()
 QList<uint> Connection::RequestHandles(uint handle_type,
                                        const QStringList & names)
 {
+    QString strMessage = "VICaR Connection: RequestHandles.";
+    d->logUtility->logMessage(strMessage);
+
     Q_UNUSED(names);
     QList<uint> result;
 
@@ -318,6 +328,7 @@ QList<uint> Connection::RequestHandles(uint handle_type,
     }
 
     //WARNING: Incomplete implementation. Create a handle and return the value here.
+    result.append(this->GetSelfHandle());
     return result;
 }
 
@@ -325,13 +336,11 @@ void Connection::HoldHandles(const uint handle_type, const QList<uint> &handles)
 {
     Q_UNUSED(handles);
     QString strMessage = "VICaR Connection: HoldHandles.";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     if (d->connection_status != Connected)
     {
 
         strMessage = "VICaR Connection: HoldHandles - Not Connected.";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
 
         sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
@@ -342,7 +351,6 @@ void Connection::HoldHandles(const uint handle_type, const QList<uint> &handles)
     {
 
         strMessage = "VICaR Connection: HoldHandles - Invalid Handle Type.";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
 
         sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
@@ -360,10 +368,9 @@ QStringList Connection::InspectHandles(const uint handle_type,
     QStringList handlesList;
 
     QString strMessage = "VICaR Connection: InspectHandles.";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 
-        // check input:
+     // check input:
     if (d->connection_status != Connected)
     {
         sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
@@ -377,15 +384,19 @@ QStringList Connection::InspectHandles(const uint handle_type,
         return handlesList;
     }
 
-    uint handle = 0;
+    uint handle;
+
+    qDebug() << "VICaR Connction: " << handles.length()<< " handles passed to us";
     for (int i = 0 ; i < handles.length(); i++) {
         handle = handles.at(i);
-        strMessage = "VICaR Connection: Inspecting handle "+QString(handle);
-        qDebug() << strMessage;
+        strMessage = "VICaR Connection: Inspecting handle "+QString::number(handle);
         d->logUtility->logMessage(strMessage);
-        handlesList.append(QString(handle));
+        handlesList.append(QString::number(handle));
     }
 
+    strMessage = "VICaR Connection: Handle inspection completed";
+    d->logUtility->logMessage(strMessage);
+
     //WARNING: Incomplete implementation
     return handlesList;
 }
@@ -393,13 +404,14 @@ QStringList Connection::InspectHandles(const uint handle_type,
 void Connection::ReleaseHandles(const uint handle_type, const QList<uint> &handles)
 {
     Q_UNUSED(handles);
-    QString strMessage;
+    QString strMessage = "VICaR Connection: ReleaseHandles.";
+    d->logUtility->logMessage(strMessage);
+
     if (d->connection_status != Connected)
     {
         sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
                        "VICaR - Unable to release handle. The connection is no longer available.");
         strMessage = "VICaR Connection: Releasing Handle while connection is no longer connected.";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
         return;
     }
@@ -408,7 +420,6 @@ void Connection::ReleaseHandles(const uint handle_type, const QList<uint> &handl
         sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
                        "VICaR - Supports handles of type Contact only.");
         strMessage =  "VICaR Connection: Trying to release a Handle that is not a contact.";
-        qDebug() << strMessage;
         d->logUtility->logMessage(strMessage);
         return;
     }
@@ -418,6 +429,10 @@ void Connection::ReleaseHandles(const uint handle_type, const QList<uint> &handl
 
 org::freedesktop::Telepathy::ChannelInfoList Connection::ListChannels()
 {
+
+    QString strMessage = "VICaR Connection: ListChannels.";
+    d->logUtility->logMessage(strMessage);
+
     org::freedesktop::Telepathy::ChannelInfoList result;
     if (d->connection_status != Connected)
     {
@@ -440,6 +455,11 @@ QDBusObjectPath Connection::RequestChannel(const QString &type,
     Q_UNUSED(suppress_handler);
     //This method is deprecated and no longer used as per latest Telepathy spec
 
+
+    QString strMessage = "VICaR Connection: RequestChannel.";
+    d->logUtility->logMessage(strMessage);
+
+
     if (type != QString("org.freedesktop.Telepathy.Channel.Type.StreamedMedia"))
     {
         sendErrorReply("org.freedesktop.Telepathy.Error.NotImplemented",
@@ -463,6 +483,7 @@ QDBusObjectPath Connection::RequestChannel(const QString &type,
 
     //WARNING: Incomplete implementation, we are not creating any channels here at all.
     QDBusObjectPath channel_path;
+    qDebug() << "VICaR Connection: Returning null channel object path";
     return channel_path;
 }
 
@@ -474,7 +495,6 @@ QDBusObjectPath Connection::CreateChannel(const QVariantMap &request,
     Q_ASSERT(!request.isEmpty());
     QString strMessage;
     strMessage = "VICaR Connection: CreateChannel";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     qDebug() << " Request details are: "<< request;
 
@@ -493,7 +513,6 @@ bool Connection::EnsureChannel(const QVariantMap &request,
     Q_UNUSED(channel_properties);
     Q_ASSERT(!request.isEmpty());
     QString strMessage = "VICaR Connection: EnsureChannel";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
     qDebug() << " Request details are: "<< request;
 
@@ -506,7 +525,6 @@ bool Connection::EnsureChannel(const QVariantMap &request,
 QDBusObjectPath Connection::processChannel(const QVariantMap &request){
 
     QString strMessage = "VICaR Connection: ProcessChannel";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 
     QDBusObjectPath channel_path;
@@ -570,7 +588,6 @@ QDBusObjectPath Connection::processChannel(const QVariantMap &request){
 
     strMessage = "VICaR Connection: Call is processed.";
 
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 
     return channel_path;
@@ -583,7 +600,6 @@ void Connection::AddClientInterest(const QStringList &tokens){
     QString strMessage;
 
     strMessage = "VICaR Connection: AddClientInterest";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 }
 
@@ -593,7 +609,6 @@ void Connection::RemoveClientInterest(const QStringList &tokens){
     QString strMessage;
 
     strMessage = "VICaR Connection: RemoveClientInterest";
-    qDebug() << strMessage;
     d->logUtility->logMessage(strMessage);
 }