qthighway/xqservice/src/xqaiwuridriver.cpp
branchRCL_3
changeset 23 cd2778e5acfe
parent 22 5d007b20cfd0
child 25 19a54be74e5e
--- a/qthighway/xqservice/src/xqaiwuridriver.cpp	Tue Aug 31 16:02:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License as published by
-* the Free Software Foundation, version 2.1 of the License.
-* 
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License
-* along with this program.  If not, 
-* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
-*
-* Description:
-*
-*/
-
-#include <QObject>
-#include <qglobal.h>
-#include <QDesktopServices>
-#include <QLatin1String>
-
-#include <xqaiwdecl.h>
-#include "xqserviceglobal.h"
-#include "xqservicelog.h"
-#include "xqaiwuridriver.h"
-#include <qservicemanager.h>  // Integrate to activity manager
-
-using namespace QtMobility;
-
-XQAiwUriDriver::XQAiwUriDriver(const QUrl &uri, const XQAiwInterfaceDescriptor& descriptor, const QString &operation)
-    : XQAiwRequestDriver(),
-       mUtilities(NULL)
-{
-
-    mErrorMsg = "";
-    mDescr = descriptor;
-    mUri = uri;
-    mOperation = operation;
-
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::XQAiwUriDriver: %s",
-                          qPrintable(mUri.toString()));
-    
-}
-
-XQAiwUriDriver::~XQAiwUriDriver()
-{
-    XQSERVICE_DEBUG_PRINT("~XQAiwUriDriver::XQAiwUriDriver");
-    delete mUtilities;
-    
-}
-
-QAction *XQAiwUriDriver::createAction()
-{
-    return NULL;  //  Not supported
-}
-
-void XQAiwUriDriver::setArguments(const QList<QVariant> &arguments)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::setArguments");
-    mArguments =  arguments;
-}
-
-
-bool XQAiwUriDriver::send(QVariant& retValue)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::send %s", qPrintable(mUri.toString()));
-
-    mErrorCode = XQService::ENoError;
-    
-    // Browser URI
-    if (mUri.scheme().compare("http", Qt::CaseInsensitive) == 0 ||
-        mUri.scheme().compare("https", Qt::CaseInsensitive) == 0)
-    {
-        XQSERVICE_DEBUG_PRINT("Apply QDesktopServices::openUrl");
-        bool b = QDesktopServices::openUrl(mUri);
-        if (!b)
-        {
-            mErrorCode = XQService::EConnectionError;
-            mErrorMsg = XQAiwUtils::createErrorMessage(mErrorCode, "QDesktopServices::openUrl", mUri.toString());
-        }
-        return b;
-    }
-
-    // "appto" URI
-    if (mUri.scheme().compare(XQURI_SCHEME_ACTIVITY,Qt::CaseInsensitive) == 0)
-    {
-        return handleApptoUri(mUri);
-    }
-
-    //
-    // The rest
-    //
-    mErrorCode = XQService::EArgumentError;
-    mErrorMsg = XQAiwUtils::createErrorMessage(mErrorCode, "XQAiwUriDriver:Not custom handler for", mUri.toString());
-    
-    return false;
-    
-}
-
-const QString& XQAiwUriDriver::lastErrorMessage() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::lastErrorMessage: %s", qPrintable(mErrorMsg));
-    return mErrorMsg;
-}
-
-int XQAiwUriDriver::lastError() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::lastError %d", mErrorCode);
-    return mErrorCode;
-}
-
-const XQAiwInterfaceDescriptor &XQAiwUriDriver::descriptor() const 
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::descriptor");
-    return mDescr; 
-}
-
-void XQAiwUriDriver::setEmbedded(bool embedded)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::setEmbedded");
-    mEmbedded = embedded;
-}
-bool XQAiwUriDriver::isEmbedded() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::isEmbedded");
-    return mEmbedded;
-}
-
-void XQAiwUriDriver::setOperation(const QString &operation)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::setOperation");
-    mOperation = operation;
-}
-const QString &XQAiwUriDriver::operation() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::operation");
-    return mOperation;
-}
-
-void XQAiwUriDriver::setSynchronous(bool synchronous)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::setSynchronous");
-    mSynchronous = synchronous;
-}
-bool XQAiwUriDriver::isSynchronous() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::isSynchronous");
-    return mSynchronous;
-}
-
-//
-// Check if we can handle the URI
-//
-bool XQAiwUriDriver::hasCustomHandler(const QUrl &uri)
-{
-    QString scheme = uri.scheme();
-    return  (scheme.compare(XQURI_SCHEME_ACTIVITY,Qt::CaseInsensitive) == 0 ||
-            scheme.compare(XQURI_SCHEME_HTTP,Qt::CaseInsensitive) == 0 ||
-            scheme.compare(XQURI_SCHEME_HTTPS,Qt::CaseInsensitive) == 0);
-}
-
-
-void XQAiwUriDriver::handleAsyncResponse(const QVariant& value)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::handleAsyncResponse");
-    emit requestOk(value);
-}
-
-void XQAiwUriDriver::handleAsyncError(int err)
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::handleAsyncError");
-
-   mErrorCode = err;
-   mErrorMsg = XQAiwUtils::createErrorMessage(mErrorCode,"XQAiwUriDriver", "async send");
-   emit requestError(mErrorCode, mErrorMsg);
-}
-
-void XQAiwUriDriver::setBackground(bool background )
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::setBackground");
-    mBackground = background;
-}
-bool XQAiwUriDriver::isBackground() const
-{
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::isBackground");
-    return mBackground;
-}
-
-bool XQAiwUriDriver::handleApptoUri(const QUrl &uri)
-{
-    //
-    // Use Qt service framework errors as is (they are in different range than XQ errors)
-    //
-    QLatin1String xml("Z:/resource/activity/activityserviceplugin.xml");
-    mErrorCode = QServiceManager::NoError;
-                
-    QtMobility::QServiceManager serviceManager;
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::handleApptoUri");
-
-    bool b = serviceManager.addService(xml);
-    mErrorCode = serviceManager.error();
-    XQSERVICE_DEBUG_PRINT("\taddService=%d", mErrorCode);
-    switch (mErrorCode)
-    {
-        case QServiceManager::NoError:
-        case QServiceManager::ServiceAlreadyExists:
-        case QServiceManager::ImplementationAlreadyExists:
-            // These are OK cases.
-            mErrorCode = QServiceManager::NoError;
-            break;
-        default:
-            return false;
-    }
-    
-    QObject* activityManager = serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager");
-    mErrorCode = serviceManager.error();
-    XQSERVICE_DEBUG_PRINT("\tloadInterface %s=%d", "com.nokia.qt.activities.ActivityManager", mErrorCode);
-    if (!activityManager)
-    {
-       mErrorCode = serviceManager.error();
-       return false;
-    }
-    
-    QMetaObject::invokeMethod(activityManager, "launchActivity", Q_ARG(QUrl,uri));
-    mErrorCode = serviceManager.error();
-    
-    XQSERVICE_DEBUG_PRINT("\tinvokeMethod=%d", mErrorCode);
-    delete activityManager;
-
-    XQSERVICE_DEBUG_PRINT("XQAiwUriDriver::handleApptoUri done");
-    
-    return mErrorCode == QServiceManager::NoError;
-}