qthighway/xqservice/src/xqaiwfiledriver.cpp
changeset 14 6fbed849b4f4
parent 1 2b40d63a9c3d
--- a/qthighway/xqservice/src/xqaiwfiledriver.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qthighway/xqservice/src/xqaiwfiledriver.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -28,19 +28,34 @@
 
 XQAiwFileDriver::XQAiwFileDriver(const QFile &file, const XQAiwInterfaceDescriptor& descriptor, const QString &operation)
     : XQAiwRequestDriver(),
-      mFile(file.fileName()),
       mUtilities(NULL)
 {
 
     mErrorMsg = "";
     mDescr = descriptor; 
-    mOperation = operation; 
+    mOperation = operation;
+    mFile = file.fileName();
     
     XQSERVICE_DEBUG_PRINT("XQAiwFileDriver::XQAiwFileDriver: %s",
                           qPrintable(file.fileName()));
     
 }
 
+XQAiwFileDriver::XQAiwFileDriver(const XQSharableFile &file, const XQAiwInterfaceDescriptor& descriptor, const QString &operation)
+    : XQAiwRequestDriver(),
+      mUtilities(NULL)
+{
+
+    mErrorMsg = "";
+    mDescr = descriptor; 
+    mOperation = operation;
+    mFile = qVariantFromValue(file);
+
+    XQSERVICE_DEBUG_PRINT("XQAiwFileDriver::XQAiwFileDriver: sharable %s",
+                          qPrintable(file.fileName()));
+
+}
+
 
 XQAiwFileDriver::~XQAiwFileDriver()
 {
@@ -75,11 +90,7 @@
     QVariant applicationId =  mDescr.property(XQAiwInterfaceDescriptor::ImplementationId);
     XQSERVICE_DEBUG_PRINT("Application id %x", applicationId.toInt());
 
-    // Create space separated command line args
-    QString args = mUtilities->createCmdlineArgs(mArguments);
-    XQSERVICE_DEBUG_PRINT("args %s", qPrintable(args));
-    
-    mErrorCode = mUtilities->launchApplication(applicationId.toInt(), args);
+    mErrorCode = mUtilities->launchFile(applicationId.toInt(), mFile);
     XQSERVICE_DEBUG_PRINT("XQAiwFileDriver::errorCode %d", mErrorCode);
     QVariant ret(!mErrorCode);
     retValue = ret;