activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.cpp
changeset 66 32469d7d46ff
parent 61 8e5041d13c84
child 73 4bc7b118b3df
equal deleted inserted replaced
61:8e5041d13c84 66:32469d7d46ff
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description: 
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #include "hbactivityplugininterface.h"
    18 #include "hbactivityplugininterface.h"
    19 #include "hbactivityplugin.h"
    19 #include "hbactivityplugin.h"
    23 QTM_USE_NAMESPACE
    23 QTM_USE_NAMESPACE
    24 
    24 
    25 HbActivityPlugin::HbActivityPlugin(QObject *parent) : HbActivityPluginInterface(parent), mActivityClient(0)
    25 HbActivityPlugin::HbActivityPlugin(QObject *parent) : HbActivityPluginInterface(parent), mActivityClient(0)
    26 {
    26 {
    27     QServiceManager serviceManager;
    27     QServiceManager serviceManager;
    28     
    28 
    29     if (serviceManager.findInterfaces("ActivityService").isEmpty()) {
    29     if (serviceManager.findInterfaces("ActivityService").isEmpty()) {
    30         // clean old entries
    30         // clean old entries
    31         serviceManager.removeService("ActivityService");
    31         serviceManager.removeService("ActivityService");
    32         bool servicesAdded = serviceManager.addService(":/activityserviceplugin.xml");
    32         bool servicesAdded = serviceManager.addService(":/activityserviceplugin.xml");
    33         if (!servicesAdded) {
    33         if (!servicesAdded) {
    34             qWarning("addService for ActivityService returned false, error %d", serviceManager.error());
    34             qWarning("addService for ActivityService returned false, error %d", serviceManager.error());
    35         }
    35         }
    36     }
    36     }
    37 
    37 
    38     mActivityClient = serviceManager.loadInterface("com.nokia.qt.activities.ActivityClient");    
    38     mActivityClient = serviceManager.loadInterface("com.nokia.qt.activities.ActivityClient");
    39     if (!mActivityClient) {
    39     if (!mActivityClient) {
    40         qWarning("Cannot initialize critical com.nokia.qt.activities.ActivityClient service.");
    40         qWarning("Cannot initialize critical com.nokia.qt.activities.ActivityClient service.");
    41     }
    41     }
    42     
    42 
    43     connect(mActivityClient, SIGNAL(activityRequested(QString)), this, SIGNAL(activityRequested(QString)));
    43     connect(mActivityClient, SIGNAL(activityRequested(QString)), this, SIGNAL(activityRequested(QString)));
    44 }
    44 }
    45 
    45 
    46 HbActivityPlugin::~HbActivityPlugin()
    46 HbActivityPlugin::~HbActivityPlugin()
    47 {
    47 {
    49 }
    49 }
    50 
    50 
    51 bool HbActivityPlugin::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
    51 bool HbActivityPlugin::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
    52 {
    52 {
    53     bool retVal(false);
    53     bool retVal(false);
    54     QMetaObject::invokeMethod(mActivityClient, 
    54     QMetaObject::invokeMethod(mActivityClient,
    55                               "addActivity", 
    55                               "addActivity",
    56                               Q_RETURN_ARG(bool, retVal), 
    56                               Q_RETURN_ARG(bool, retVal),
    57                               Q_ARG(QString, activityId), 
    57                               Q_ARG(QString, activityId),
    58                               Q_ARG(QVariant, data), 
    58                               Q_ARG(QVariant, data),
    59                               Q_ARG(QVariantHash, parameters));
    59                               Q_ARG(QVariantHash, parameters));
    60     return retVal;
    60     return retVal;
    61 }
    61 }
    62 
    62 
    63 bool HbActivityPlugin::removeActivity(const QString &activityId)
    63 bool HbActivityPlugin::removeActivity(const QString &activityId)
    64 {
    64 {
    65     bool retVal(false);
    65     bool retVal(false);
    66     QMetaObject::invokeMethod(mActivityClient, 
    66     QMetaObject::invokeMethod(mActivityClient,
    67                               "removeActivity", 
    67                               "removeActivity",
    68                               Q_RETURN_ARG(bool, retVal), 
    68                               Q_RETURN_ARG(bool, retVal),
    69                               Q_ARG(QString, activityId));
    69                               Q_ARG(QString, activityId));
    70     return retVal;
    70     return retVal;
    71 }
    71 }
    72 
    72 
    73 bool HbActivityPlugin::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
    73 bool HbActivityPlugin::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
    74 {
    74 {
    75     bool retVal(false);
    75     bool retVal(false);
    76     QMetaObject::invokeMethod(mActivityClient, 
    76     QMetaObject::invokeMethod(mActivityClient,
    77                               "updateActivity", 
    77                               "updateActivity",
    78                               Q_RETURN_ARG(bool, retVal), 
    78                               Q_RETURN_ARG(bool, retVal),
    79                               Q_ARG(QString, activityId),
    79                               Q_ARG(QString, activityId),
    80                               Q_ARG(QVariant, data),
    80                               Q_ARG(QVariant, data),
    81                               Q_ARG(QVariantHash, parameters));
    81                               Q_ARG(QVariantHash, parameters));
    82     return retVal;
    82     return retVal;
    83 }
    83 }
    84 QList<QVariantHash> HbActivityPlugin::activities()
    84 QList<QVariantHash> HbActivityPlugin::activities()
    85 {
    85 {
    86     QList<QVariantHash> data;
    86     QList<QVariantHash> data;
    87     QMetaObject::invokeMethod(mActivityClient, 
    87     QMetaObject::invokeMethod(mActivityClient,
    88                               "activities", 
    88                               "activities",
    89                               Q_RETURN_ARG(QList<QVariantHash>, data));
    89                               Q_RETURN_ARG(QList<QVariantHash>, data));
    90     return data;
    90     return data;
    91 }
    91 }
    92 
    92 
    93 QVariant HbActivityPlugin::activityData(const QString &activityId)
    93 QVariant HbActivityPlugin::activityData(const QString &activityId)
    94 {
    94 {
    95     QVariant data;
    95     QVariant data;
    96     QMetaObject::invokeMethod(mActivityClient, 
    96     QMetaObject::invokeMethod(mActivityClient,
    97                               "activityData", 
    97                               "activityData",
    98                               Q_RETURN_ARG(QVariant, data),
    98                               Q_RETURN_ARG(QVariant, data),
    99                               Q_ARG(QString, activityId));
    99                               Q_ARG(QString, activityId));
   100     return data;
   100     return data;
   101 }
   101 }
   102 
   102 
   103 bool HbActivityPlugin::waitActivity()
   103 bool HbActivityPlugin::waitActivity()
   104 {
   104 {
   105     bool retVal(false);
   105     bool retVal(false);
   106     QMetaObject::invokeMethod(mActivityClient, 
   106     QMetaObject::invokeMethod(mActivityClient,
   107                               "waitActivity", 
   107                               "waitActivity",
   108                               Q_RETURN_ARG(bool, retVal));
   108                               Q_RETURN_ARG(bool, retVal));
   109     return retVal;
   109     return retVal;
   110 }
   110 }
   111 
   111 
   112 Q_EXPORT_PLUGIN2(hbactivityplugin, HbActivityPlugin) 
   112 QVariantHash HbActivityPlugin::parseCommandLine(const QStringList &commandLineParams)
       
   113 {
       
   114     QVariantHash retVal;
       
   115     QMetaObject::invokeMethod(mActivityClient,
       
   116                               "parseCommandLine",
       
   117                               Q_RETURN_ARG(QVariantHash, retVal),
       
   118                               Q_ARG(QStringList, commandLineParams));
       
   119     return retVal;
       
   120 }
       
   121 
       
   122 Q_EXPORT_PLUGIN2(hbactivityplugin, HbActivityPlugin)