qthighway/xqservice/src/xqaiwuridriver.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 27 6bfad47013df
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    93     }
    93     }
    94 
    94 
    95     //
    95     //
    96     // The rest
    96     // The rest
    97     //
    97     //
    98     if (mUtilities == NULL)
    98     mErrorCode = XQService::EArgumentError;
    99         mUtilities = new XQAiwUtils();
    99     mErrorMsg = XQAiwUtils::createErrorMessage(mErrorCode, "XQAiwUriDriver:Not custom handler for", mUri.toString());
   100     if (mUtilities == NULL)
   100     
   101     {
   101     return false;
   102         XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::Can not create aiw utils");
   102     
   103         return false;
       
   104     }
       
   105 
       
   106     int applicationId = 0;
       
   107     if (mUtilities->findApplication(mUri, applicationId) != XQService::ENoError)
       
   108     {
       
   109         // Not found
       
   110         mErrorCode = XQService::EServerNotFound;
       
   111         mErrorMsg = XQAiwUtils::createErrorMessage(mErrorCode, "XQAiwUriDriver", mUri.toString());
       
   112         return false;  // No application registered for uri
       
   113     }
       
   114     XQSERVICE_DEBUG_PRINT("Application id %x", applicationId);
       
   115     
       
   116     // Create space separated command line args
       
   117     QString args = mUtilities->createCmdlineArgs(mArguments);
       
   118     XQSERVICE_DEBUG_PRINT("args %s", qPrintable(args));
       
   119     
       
   120     mErrorCode = mUtilities->launchApplication(applicationId, args);
       
   121     XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::errorCode %d", mErrorCode);
       
   122     
       
   123     QVariant ret(!mErrorCode);
       
   124     retValue = ret;
       
   125     
       
   126     return (!mErrorCode);
       
   127 }
   103 }
   128 
   104 
   129 const QString& XQAiwUriDriver::lastErrorMessage() const
   105 const QString& XQAiwUriDriver::lastErrorMessage() const
   130 {
   106 {
   131     XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::lastErrorMessage: %s", qPrintable(mErrorMsg));
   107     XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::lastErrorMessage: %s", qPrintable(mErrorMsg));
   248     {
   224     {
   249        mErrorCode = serviceManager.error();
   225        mErrorCode = serviceManager.error();
   250        return false;
   226        return false;
   251     }
   227     }
   252     
   228     
   253     QMetaObject::invokeMethod(activityManager, "launchActivity", Q_ARG(QString, uri.toString()));
   229     QMetaObject::invokeMethod(activityManager, "launchActivity", Q_ARG(QUrl,uri));
   254     mErrorCode = serviceManager.error();
   230     mErrorCode = serviceManager.error();
   255     
   231     
   256     XQSERVICE_DEBUG_PRINT("\tinvokeMethod=%d", mErrorCode);
   232     XQSERVICE_DEBUG_PRINT("\tinvokeMethod=%d", mErrorCode);
   257     delete activityManager;
   233     delete activityManager;
   258 
   234