[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