[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bshare-like-connect=5D_dataengine=3A_the_service_acc?=
From: Marco Martin <notmart () gmail ! com>
Date: 2011-05-31 21:08:33
Message-ID: 20110531210833.9BDDCA60A6 () git ! kde ! org
[Download RAW message or body]
Git commit 5b45535ed80397dbc597aca9d1a21716479671e3 by Marco Martin.
Committed on 31/05/2011 at 19:37.
Pushed by mart into branch 'master'.
the service accesses the providers
M +6 -1 dataengine/sharelikeconnect.cpp
M +1 -0 dataengine/sharelikeconnect.h
M +5 -1 dataengine/slcservice/slcjob.cpp
M +6 -1 dataengine/slcservice/slcjob.h
M +11 -4 dataengine/slcservice/slcservice.cpp
M +8 -3 dataengine/slcservice/slcservice.h
http://commits.kde.org/share-like-connect/5b45535ed80397dbc597aca9d1a21716479671e3
diff --git a/dataengine/sharelikeconnect.cpp b/dataengine/sharelikeconnect.cpp
index d081784..e10b7e1 100644
--- a/dataengine/sharelikeconnect.cpp
+++ b/dataengine/sharelikeconnect.cpp
@@ -70,7 +70,7 @@ Plasma::Service *ShareLikeConnectEngine::serviceForSource(const \
QString &source) {
Plasma::Service *service = 0;
if (source == "Share" || source == "Like" || source == "Connect") {
- return new SlcService(this);
+ return new SLC::SlcService(this);
} else {
return 0;
}
@@ -108,6 +108,11 @@ void ShareLikeConnectEngine::contentChanged()
}
}
+QHash<QString, SLC::Provider *> ShareLikeConnectEngine::providers() const
+{
+ return m_providers;
+}
+
// export the plugin; use the plugin name and the class name
K_EXPORT_PLASMA_DATAENGINE(org.kde.sharelikeconnect, ShareLikeConnectEngine)
diff --git a/dataengine/sharelikeconnect.h b/dataengine/sharelikeconnect.h
index ed32866..88d4b59 100644
--- a/dataengine/sharelikeconnect.h
+++ b/dataengine/sharelikeconnect.h
@@ -37,6 +37,7 @@ public:
~ShareLikeConnectEngine();
Plasma::Service *serviceForSource(const QString &source);
+ QHash<QString, SLC::Provider *> providers() const;
private Q_SLOTS:
void contentChanged();
diff --git a/dataengine/slcservice/slcjob.cpp b/dataengine/slcservice/slcjob.cpp
index cf497f6..9b45f61 100644
--- a/dataengine/slcservice/slcjob.cpp
+++ b/dataengine/slcservice/slcjob.cpp
@@ -21,7 +21,9 @@
#include <kdebug.h>
-SlcJob::SlcJob(const QString &operation, QMap<QString, QVariant> ¶meters, \
QObject *parent) +namespace SLC {
+
+SlcJob::SlcJob(Provider *provider, const QString &operation, QMap<QString, QVariant> \
¶meters, QObject *parent) : ServiceJob(parent->objectName(), operation, \
parameters, parent) {
}
@@ -45,4 +47,6 @@ void SlcJob::start()
setResult(false);
}
+}
+
#include "slcjob.moc"
diff --git a/dataengine/slcservice/slcjob.h b/dataengine/slcservice/slcjob.h
index 65d2c1a..6a9a7c5 100644
--- a/dataengine/slcservice/slcjob.h
+++ b/dataengine/slcservice/slcjob.h
@@ -22,6 +22,9 @@
// plasma
#include <Plasma/ServiceJob>
+#include "provider.h"
+
+namespace SLC {
class SlcJob : public Plasma::ServiceJob
{
@@ -29,11 +32,13 @@ class SlcJob : public Plasma::ServiceJob
Q_OBJECT
public:
- SlcJob(const QString &operation, QMap<QString, QVariant> ¶meters, QObject \
*parent = 0); + SlcJob(Provider *provider, const QString &operation, QMap<QString, \
QVariant> ¶meters, QObject *parent = 0); ~SlcJob();
protected:
void start();
};
+}
+
#endif
diff --git a/dataengine/slcservice/slcservice.cpp \
b/dataengine/slcservice/slcservice.cpp index 686f90a..ed180c3 100644
--- a/dataengine/slcservice/slcservice.cpp
+++ b/dataengine/slcservice/slcservice.cpp
@@ -19,18 +19,25 @@
#include "slcservice.h"
#include "slcjob.h"
+#include "provider.h"
+namespace SLC {
-SlcService::SlcService(QObject *parent, const QVariantList &args)
- : Plasma::Service(parent, args)
+SlcService::SlcService(ShareLikeConnectEngine *parent, const QVariantList &args)
+ : Plasma::Service(parent, args),
+ m_slcEngine(parent)
{
setName("slcservice");
}
-ServiceJob *SlcService::createJob(const QString &operation,
+Plasma::ServiceJob *SlcService::createJob(const QString &operation,
QMap<QString, QVariant> ¶meters)
{
- return new SlcJob(operation, parameters, this);
+ const QString action = parameters.value("Action").toString();
+ Provider *provider = m_slcEngine.data()->providers().value(action);
+ return new SlcJob(provider, operation, parameters, this);
+}
+
}
#include "slcservice.moc"
diff --git a/dataengine/slcservice/slcservice.h b/dataengine/slcservice/slcservice.h
index 24b29f0..cd4eae2 100644
--- a/dataengine/slcservice/slcservice.h
+++ b/dataengine/slcservice/slcservice.h
@@ -24,19 +24,24 @@
#include <Plasma/Service>
#include <Plasma/ServiceJob>
-using namespace Plasma;
+#include "sharelikeconnect.h"
+
+namespace SLC {
class SlcService : public Plasma::Service
{
Q_OBJECT
public:
- SlcService(QObject *parent = 0, const QVariantList &args = QVariantList());
- ServiceJob *createJob(const QString &operation,
+ SlcService(ShareLikeConnectEngine *parent = 0, const QVariantList &args = \
QVariantList()); + Plasma::ServiceJob *createJob(const QString &operation,
QMap<QString, QVariant> ¶meters);
private:
QString m_id;
+ QWeakPointer<ShareLikeConnectEngine> m_slcEngine;
};
+}
+
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic