#include <QDBusMessage>
#include <QDBusReply>
+#define SELF_HANDLE 1 //Any non-zero
+
namespace
{
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);
QString strMessage;
strMessage = "DEBUG: In Connection Constructor";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
Q_ASSERT(0 != d);
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;
strMessage = "VICaR Connection: Connection set up.";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
}
if (!QDBusConnection::sessionBus().registerService(serviceName()))
{
strMessage = "VICaR Connection: Problem registering connection service:" + serviceName();
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
return false;
}
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;
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());
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);
}
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);
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",
}
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;
}
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;
}
//WARNING: Incomplete implementation. Create a handle and return the value here.
+ result.append(this->GetSelfHandle());
return result;
}
{
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",
{
strMessage = "VICaR Connection: HoldHandles - Invalid Handle Type.";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
QStringList handlesList;
QString strMessage = "VICaR Connection: InspectHandles.";
- qDebug() << strMessage;
- d->logUtility->logMessage(strMessage);
+ //d->logUtility->logMessage(strMessage);
- // check input:
+ // check input:
if (d->connection_status != Connected)
{
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
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;
}
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;
}
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;
}
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)
{
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",
//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;
}
Q_ASSERT(!request.isEmpty());
QString strMessage;
strMessage = "VICaR Connection: CreateChannel";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
qDebug() << " Request details are: "<< 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;
QDBusObjectPath Connection::processChannel(const QVariantMap &request){
QString strMessage = "VICaR Connection: ProcessChannel";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
QDBusObjectPath channel_path;
strMessage = "VICaR Connection: Call is processed.";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
return channel_path;
QString strMessage;
strMessage = "VICaR Connection: AddClientInterest";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
}
QString strMessage;
strMessage = "VICaR Connection: RemoveClientInterest";
- qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
}