qthighway/xqserviceipc/xqserviceipcserver/xqserviceipcrequest.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 24 9d760f716ca8
--- 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());
         }
     }
 }