[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/sysadmin/shaman
From: Lukas Appelhans <l.appelhans () gmx ! de>
Date: 2010-04-21 12:48:42
Message-ID: 20100421124842.5C2B8AC89E () svn ! kde ! org
[Download RAW message or body]
SVN commit 1117174 by lappelhans:
Proper Repository/PackageGroup stuff for ProviderPlugins... also add all ABSPackages to the ABS Repo
M +2 -2 libshaman/shamancoreinterface.cpp
M +14 -2 libshaman/shamanprovider.cpp
M +7 -2 libshaman/shamanprovider.h
M +2 -0 libshaman/shamanprovider_p.h
M +16 -2 libshaman/shamanproviderpackage.cpp
M +17 -2 libshaman/shamanproviderplugin.cpp
M +2 -0 libshaman/shamanproviderplugin.h
M +0 -10 plugins/abs/AbsPackage.cpp
M +0 -2 plugins/abs/AbsPackage.h
M +6 -1 plugins/abs/AbsPlugin.cpp
M +3 -3 plugins/abs/AbsPlugin.h
--- trunk/playground/sysadmin/shaman/libshaman/shamancoreinterface.cpp #1117173:1117174
@@ -145,8 +145,8 @@
}
providers = newProviderPlugins;
foreach (Provider *p, providers) {
- if (!p->allAvailablePackages().isEmpty()) {
- setPackagesFor(p, p->allAvailablePackages().toList());
+ if (!p->availablePackages().isEmpty()) {
+ setPackagesFor(p, p->availablePackages().toList());
}
connect(p, SIGNAL(availablePackagesChanged(Shaman::AbstractPackage::List)),
this, SLOT(__k__packagesChanged(Shaman::AbstractPackage::List)));
--- trunk/playground/sysadmin/shaman/libshaman/shamanprovider.cpp #1117173:1117174
@@ -41,9 +41,21 @@
return d->packages;
}
-QSet< AbstractPackage* > Provider::allAvailablePackages() const
+Repository::List Provider::repositories() const
{
Q_D(const Provider);
+ return d->repos;
+}
+
+PackageGroup::List Provider::packageGroups() const
+{
+ Q_D(const Provider);
+ return d->groups;
+}
+
+QSet< AbstractPackage* > Provider::availablePackages() const
+{
+ Q_D(const Provider);
QSet< AbstractPackage* > retset;
retset.unite(d->plugin->d_func()->searchCache);
retset.unite(d->packages.toSet());
@@ -54,7 +66,7 @@
{
AbstractPackage::List retlist;
// Let's find out
- foreach (AbstractPackage * const package, allAvailablePackages()) {
+ foreach (AbstractPackage * const package, availablePackages()) {
if (package->action() == AbstractPackage::Install ||
package->action() == AbstractPackage::Uninstall ||
package->action() == AbstractPackage::Upgrade) {
--- trunk/playground/sysadmin/shaman/libshaman/shamanprovider.h #1117173:1117174
@@ -49,10 +49,15 @@
void reload();
AbstractPackage::List packages() const;
- QSet< AbstractPackage* > allAvailablePackages() const;
+ QSet< AbstractPackage* > availablePackages() const;
+ Repository::List repositories() const;
+ PackageGroup::List packageGroups() const;
Q_SIGNALS:
- void availablePackagesChanged(const Shaman::AbstractPackage::List &packages);
+ void availablePackagesChanged(Shaman::AbstractPackage::List packages);
+ void packagesChanged(Shaman::AbstractPackage::List packages);
+ void repositoriesChanged(Shaman::Repository::List repos);
+ void packageGroupsChanged(Shaman::PackageGroup::List packageGroups);
void additionalTargetsRetrieved(const Shaman::AbstractPackage::List &additionalProvider);
void stateChanged(Shaman::Backend::State state);
//void errorTriggered(Shaman::Provider::Error error, const QString &details);
--- trunk/playground/sysadmin/shaman/libshaman/shamanprovider_p.h #1117173:1117174
@@ -28,6 +28,8 @@
Backend::State state;
Provider::Capabilities capabilities;
AbstractPackage::List packages;
+ Repository::List repos;
+ PackageGroup::List groups;
};
}
--- trunk/playground/sysadmin/shaman/libshaman/shamanproviderpackage.cpp #1117173:1117174
@@ -43,12 +43,26 @@
QList< PackageGroup* > ProviderPackage::packageGroups()
{
- return QList< PackageGroup* >();
+ PackageGroup::List list;
+ foreach (PackageGroup * group, provider()->packageGroups())
+ {
+ if (group->contains(this)) {
+ list.append(group);
+ }
+ }
+ return list;
}
QList< Repository* > ProviderPackage::repositories()
{
- return QList< Repository* >();
+ Repository::List list;
+ foreach (Repository * group, provider()->repositories())
+ {
+ if (group->contains(this)) {
+ list.append(group);
+ }
+ }
+ return list;
}
}
--- trunk/playground/sysadmin/shaman/libshaman/shamanproviderplugin.cpp #1117173:1117174
@@ -64,7 +64,7 @@
if (d->provider->capabilities() & Provider::RetrieveAdditionalPackagesOnSearchCapability) {
// Then we need to populate the cache as well
d->searchCache = d->searchCache.unite(result.toSet());
- emit d->provider->availablePackagesChanged(d->provider->allAvailablePackages().toList());
+ emit d->provider->availablePackagesChanged(d->provider->availablePackages().toList());
}
Shaman::Base::instance()->core()->d_func()->queryCompleted(this, search, result);
setState(Backend::Idling);
@@ -86,9 +86,24 @@
{
Q_D(ProviderPlugin);
d->provider->d_func()->packages = packages;
- emit d->provider->availablePackagesChanged(d->provider->allAvailablePackages().toList());
+ emit d->provider->packagesChanged(packages);
+ emit d->provider->availablePackagesChanged(d->provider->availablePackages().toList());
}
+void ProviderPlugin::setRepositories(const Shaman::Repository::List& repos)
+{
+ Q_D(ProviderPlugin);
+ d->provider->d_func()->repos = repos;
+ emit d->provider->repositoriesChanged(repos);
}
+void ProviderPlugin::setPackageGroups(const Shaman::PackageGroup::List& groups)
+{
+ Q_D(ProviderPlugin);
+ d->provider->d_func()->groups = groups;
+ emit d->provider->packageGroupsChanged(groups);
+}
+
+}
+
#include "shamanproviderplugin.moc"
--- trunk/playground/sysadmin/shaman/libshaman/shamanproviderplugin.h #1117173:1117174
@@ -55,6 +55,8 @@
void setSearchResult(const QUuid &searchUuid, const Shaman::AbstractPackage::List &result);
void setAdditionalTargetsForQueue(const Shaman::AbstractPackage::List &packages);
void setPackages(const Shaman::AbstractPackage::List &packages);
+ void setRepositories(const Shaman::Repository::List &repos);
+ void setPackageGroups(const Shaman::PackageGroup::List &groups);
void setCapabilities(Shaman::Provider::Capabilities capabilities);
--- trunk/playground/sysadmin/shaman/plugins/abs/AbsPackage.cpp #1117173:1117174
@@ -21,16 +21,6 @@
}
-QList< Shaman::PackageGroup* > AbsPackage::packageGroups()
-{
- return QList< Shaman::PackageGroup* >();
-}
-
-QList< Shaman::Repository* > AbsPackage::repositories()
-{
- return QList< Shaman::Repository* >();
-}
-
void AbsPackage::cacheValue(Shaman::AbstractPackage::CachedValue value)
{
--- trunk/playground/sysadmin/shaman/plugins/abs/AbsPackage.h #1117173:1117174
@@ -20,8 +20,6 @@
AbsPackage(const QString& name, Shaman::ProviderPlugin* provider);
virtual ~AbsPackage();
- virtual QList< Shaman::PackageGroup* > packageGroups();
- virtual QList< Shaman::Repository* > repositories();
virtual void cacheValue(Shaman::AbstractPackage::CachedValue value);
};
--- trunk/playground/sysadmin/shaman/plugins/abs/AbsPlugin.cpp #1117173:1117174
@@ -10,6 +10,7 @@
#include "AbsPlugin.h"
#include <shamanmacros.h>
+#include <shamanrepository.h>
#include <aqpm/AbsBackend.h>
#include "AbsPackage.h"
@@ -20,6 +21,7 @@
AbsPlugin::AbsPlugin(QObject *parent, const QVariantList &)
: ProviderPlugin(parent)
{
+ repo = new Shaman::Repository("ABS", KUrl(), this);
}
AbsPlugin::~AbsPlugin()
@@ -37,11 +39,14 @@
Shaman::AbstractPackage::List oldPackages = provider()->packages();
Shaman::AbstractPackage::List newPackages;
foreach (const QString &package, Aqpm::Abs::Backend::instance()->allPackages()) {
- newPackages << new AbsPackage(package, this);
+ AbsPackage *pkg = new AbsPackage(package, this);
+ newPackages << pkg;
+ repo->append(pkg);
}
// Now setting packages
kDebug() << "Setting Packages of ABS";
setPackages(newPackages);
+ setRepositories(Shaman::Repository::List() << repo);
qDeleteAll(oldPackages);
setState(Shaman::Backend::Idling);
}
--- trunk/playground/sysadmin/shaman/plugins/abs/AbsPlugin.h #1117173:1117174
@@ -15,7 +15,8 @@
#include <QVariantList>
namespace Shaman {
-class Query;
+ class Query;
+ class Repository;
}
class AbsPlugin : public Shaman::ProviderPlugin
@@ -34,8 +35,7 @@
virtual void search(Shaman::Query *query);
private:
- class Private;
- Private *d;
+ Shaman::Repository * repo;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic