[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [muon/muon-backends] libmuon: Pass arguments to the loaded plugins
From: Aleix Pol <aleixpol () kde ! org>
Date: 2012-11-29 16:08:48
Message-ID: 20121129160848.D3BBEA60CE () git ! kde ! org
[Download RAW message or body]
Git commit 4c58eb60e02a13b59c346c7f6d04707839a6ce4b by Aleix Pol.
Committed on 29/11/2012 at 17:08.
Pushed by apol into branch 'muon-backends'.
Pass arguments to the loaded plugins
M +11 -8 libmuon/MuonBackendsFactory.cpp
M +1 -1 libmuon/MuonBackendsFactory.h
http://commits.kde.org/muon/4c58eb60e02a13b59c346c7f6d04707839a6ce4b
diff --git a/libmuon/MuonBackendsFactory.cpp b/libmuon/MuonBackendsFactory.cpp
index 467a705..587f7cd 100644
--- a/libmuon/MuonBackendsFactory.cpp
+++ b/libmuon/MuonBackendsFactory.cpp
@@ -61,20 +61,23 @@ QList<AbstractResourcesBackend*> \
MuonBackendsFactory::allBackends() return ret;
}
-AbstractResourcesBackend* MuonBackendsFactory::backendForPlugin(const KPluginInfo& \
info)
-{
- return backendForName(info.name());
-}
-AbstractResourcesBackend* MuonBackendsFactory::backendForName(const QString& \
pluginId) +AbstractResourcesBackend* MuonBackendsFactory::backendForPlugin(const \
KPluginInfo& info) {
+ qDebug() << "fuuuuuuu" << info.property("[X-Muon-Arguments]").toString();
+ QVariantMap args;
+ foreach(const QString& prop, info.config().keyList()) {
+ args[prop] = info.property(prop);
+ }
+
QString str_error;
AbstractResourcesBackend* obj = \
KServiceTypeTrader::createInstanceFromQuery<AbstractResourcesBackend>(
- QLatin1String( "Muon/Backend" ), QString::fromLatin1( \
"[X-KDE-PluginInfo-Name]=='%1'" ).arg( pluginId ),
- ResourcesModel::global(), QVariantList(), &str_error );
+ QLatin1String( "Muon/Backend" ), QString::fromLatin1( \
"[X-KDE-PluginInfo-Name]=='%1'" ).arg( info.pluginName() ), + \
ResourcesModel::global(), QVariantList() << args, &str_error );
if(!obj) {
- qDebug() << "error when loading the plugin" << str_error;
+ qDebug() << "error when loading the plugin" << info.name() << "because" << \
str_error; }
return obj;
}
+
diff --git a/libmuon/MuonBackendsFactory.h b/libmuon/MuonBackendsFactory.h
index 8828c96..959cbb9 100644
--- a/libmuon/MuonBackendsFactory.h
+++ b/libmuon/MuonBackendsFactory.h
@@ -35,7 +35,7 @@ public:
private:
AbstractResourcesBackend* backendForPlugin(const KPluginInfo& info);
- AbstractResourcesBackend* backendForName(const QString& name);
+ AbstractResourcesBackend* backendForName(const KPluginInfo& info);
};
#endif // MUONBACKENDSFACTORY_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic