--- a/qthighway/xqserviceipc/xqserviceipcserver/xqserviceipcrequest.cpp Fri Apr 16 15:51:22 2010 +0300
+++ b/qthighway/xqserviceipc/xqserviceipcserver/xqserviceipcrequest.cpp Mon May 03 13:18:40 2010 +0300
@@ -42,11 +42,11 @@
ServiceIPCRequest::ServiceIPCRequest(ServiceIPCSession* aSession,
qint64 aDataLength,
const QString& aRequestOp) :
+ QObject(NULL),
iSession(aSession),
+ iClientInfo(NULL),
iRequestOp(aRequestOp),
iDatalength(aDataLength),
- iClientInfo(NULL),
- QObject(NULL),
iId(-1),
iAsync(false)
{
@@ -192,6 +192,12 @@
XQSERVICE_DEBUG_PRINT("ServiceIPCRequest::setClientInfo");
delete iClientInfo;
iClientInfo = aClientInfo;
+
+ // Fill in the implicit info generated by the server
+ iRequestInfo.setInfo(XQServiceUtils::InfoSID, iClientInfo->processId());
+ iRequestInfo.setInfo(XQServiceUtils::InfoVID, iClientInfo->vendorId());
+ iRequestInfo.setInfo(XQServiceUtils::InfoCap, iClientInfo->capabilities());
+
}
/*!
@@ -259,19 +265,22 @@
}
+// Set request info passed alomg with the request
void ServiceIPCRequest::setRequestInfo(XQRequestInfo *info)
{
XQSERVICE_DEBUG_PRINT("ServiceIPCRequest::setRequestInfo");
if (info)
{
iRequestInfo = *info;
+ // Restore the overridden id value
if (iClientInfo)
{
- // Fill in client security info from the client info
- XQSERVICE_DEBUG_PRINT("ServiceIPCRequest::setSecurityInfo");
+ // Fill in the implicit info generated by the server
+ XQSERVICE_DEBUG_PRINT("ServiceIPCRequest::setRequestInfo fill from clientInfo");
iRequestInfo.setInfo(XQServiceUtils::InfoSID, iClientInfo->processId());
iRequestInfo.setInfo(XQServiceUtils::InfoVID, iClientInfo->vendorId());
iRequestInfo.setInfo(XQServiceUtils::InfoCap, iClientInfo->capabilities());
+ iRequestInfo.setInfo(XQServiceUtils::InfoId, id());
}
}
}