Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=d6789017f4f7fcf46a67d81a7f97a181fb11d3d1
commit d6789017f4f7fcf46a67d81a7f97a181fb11d3d1 Author: Michel Hermier <herm...@frugalware.org> Date: Mon Oct 20 19:31:53 2014 +0200 libpacman: Wrap FList<Package *> in package_list. diff --git a/lib/libpacman/db.cpp b/lib/libpacman/db.cpp index 84f265c..e572171 100644 --- a/lib/libpacman/db.cpp +++ b/lib/libpacman/db.cpp @@ -92,9 +92,9 @@ bool Database::add_server(const char *url) return true; } -FList<Package *> Database::filter(const PackageMatcher &packagematcher) +package_list Database::filter(const PackageMatcher &packagematcher) { - FList<Package *> ret; + package_list ret; auto &cache = get_packages(); for(auto it = cache.begin(), end = cache.end(); it != end; ++it) { @@ -107,14 +107,14 @@ FList<Package *> Database::filter(const PackageMatcher &packagematcher) return ret; } -FList<Package *> Database::filter(const FStrMatcher *strmatcher, int packagestrmatcher_flags) +package_list Database::filter(const FStrMatcher *strmatcher, int packagestrmatcher_flags) { return filter(PackageMatcher(strmatcher, packagestrmatcher_flags)); } -FList<Package *> Database::filter(const FStringList &needles, int packagestrmatcher_flags, int strmatcher_flags) +package_list Database::filter(const FStringList &needles, int packagestrmatcher_flags, int strmatcher_flags) { - FList<Package *> ret; + package_list ret; for(auto i = needles.begin(), end = needles.end(); i != end; ++i) { const char *pattern = (const char *)*i; @@ -138,12 +138,12 @@ FList<Package *> Database::filter(const FStringList &needles, int packagestrmatc return ret; } -FList<Package *> Database::filter(const char *pattern, int packagestrmatcher_flags, int strmatcher_flags) +package_list Database::filter(const char *pattern, int packagestrmatcher_flags, int strmatcher_flags) { if(!f_strempty(pattern)) { return filter(PackageMatcher(pattern, packagestrmatcher_flags, strmatcher_flags)); } - return FList<Package *>(); + return package_list(); } Package *Database::find(const PackageMatcher &packagematcher) @@ -179,7 +179,7 @@ Package *Database::find(const char *pattern, int packagestrmatcher_flags, int st return NULL; } -FList<Package *> Database::whatPackagesProvide(const char *target) +package_list Database::whatPackagesProvide(const char *target) { return filter(target, PM_PACKAGE_FLAG_PROVIDES); } @@ -251,9 +251,9 @@ int Database::write(Package *info, unsigned int inforeq) RET_ERR(PM_ERR_WRONG_ARGS, -1); // Not supported } -FList<Package *> Database::getowners(const char *filename) +package_list Database::getowners(const char *filename) { - return FList<Package *>(); + return package_list(); } /* Reads dbpath/treename.lastupdate and populates *ts with the contents. diff --git a/lib/libpacman/db.h b/lib/libpacman/db.h index 2967331..209b084 100644 --- a/lib/libpacman/db.h +++ b/lib/libpacman/db.h @@ -75,10 +75,10 @@ public: int remove_pkgfromcache(libpacman::package_ptr pkg); void free_pkgcache(); - FList<libpacman::Package *> filter(const libpacman::PackageMatcher &packagematcher); - FList<libpacman::Package *> filter(const FStrMatcher *strmatcher, int packagestrmatcher_flags); - FList<libpacman::Package *> filter(const FStringList &needles, int packagestrmatcher_flags, int strmatcher_flags = FStrMatcher::EQUAL); - FList<libpacman::Package *> filter(const char *pattern, int packagestrmatcher_flags, int strmatcher_flags = FStrMatcher::EQUAL); + libpacman::package_list filter(const libpacman::PackageMatcher &packagematcher); + libpacman::package_list filter(const FStrMatcher *strmatcher, int packagestrmatcher_flags); + libpacman::package_list filter(const FStringList &needles, int packagestrmatcher_flags, int strmatcher_flags = FStrMatcher::EQUAL); + libpacman::package_list filter(const char *pattern, int packagestrmatcher_flags, int strmatcher_flags = FStrMatcher::EQUAL); libpacman::Package *find(const libpacman::PackageMatcher &packagematcher); libpacman::Package *find(const FStrMatcher *strmatcher, int packagestrmatcher_flags); libpacman::Package *find(const char *target, @@ -87,9 +87,9 @@ public: libpacman::Group *find_group(const char *target); libpacman::package_set &get_packages(); libpacman::group_set &get_groups(); - FList<libpacman::Package *> whatPackagesProvide(const char *target); + libpacman::package_list whatPackagesProvide(const char *target); - virtual FList<libpacman::Package *> getowners(const char *filename); /* Make pure virtual */ + virtual libpacman::package_list getowners(const char *filename); /* Make pure virtual */ ::libpacman::Handle *m_handle; char *path; diff --git a/lib/libpacman/db/localdb.cpp b/lib/libpacman/db/localdb.cpp index 95754e2..01b0009 100644 --- a/lib/libpacman/db/localdb.cpp +++ b/lib/libpacman/db/localdb.cpp @@ -488,12 +488,12 @@ cleanup: return(retval); } -FList<Package *> LocalDatabase::getowners(const char *filename) +package_list LocalDatabase::getowners(const char *filename) { struct stat buf; int gotcha = 0; char rpath[PATH_MAX]; - FList<Package *> ret; + package_list ret; if(stat(filename, &buf) == -1 || realpath(filename, rpath) == NULL) { RET_ERR(PM_ERR_PKG_OPEN, ret); diff --git a/lib/libpacman/db/localdb.h b/lib/libpacman/db/localdb.h index 59d2e29..079da8b 100644 --- a/lib/libpacman/db/localdb.h +++ b/lib/libpacman/db/localdb.h @@ -61,7 +61,7 @@ public: virtual int write(libpacman::Package *info, unsigned int inforeq); - virtual FList<libpacman::Package *> getowners(const char *filename); + virtual libpacman::package_list getowners(const char *filename); protected: virtual int open(int flags, libpacman::Timestamp *timestamp); diff --git a/lib/libpacman/deps.cpp b/lib/libpacman/deps.cpp index 11b1c0b..fbc006c 100644 --- a/lib/libpacman/deps.cpp +++ b/lib/libpacman/deps.cpp @@ -430,7 +430,7 @@ void pmtrans_t::removedeps() int pmtrans_t::resolvedeps(FPtrList **data) { FPtrList deps; - FList<Package *> targ; + package_list targ; if(m_handle->dbs_sync.empty()) { return(-1); diff --git a/lib/libpacman/package.cpp b/lib/libpacman/package.cpp index 8e42895..625c88d 100644 --- a/lib/libpacman/package.cpp +++ b/lib/libpacman/package.cpp @@ -144,9 +144,9 @@ pkg_error: return false; } -/* Test for existence of a package in a FList<Package *>. +/* Test for existence of a package in a package_list. */ -const Package *_pacman_pkg_isin(const char *needle, const FList<Package *> &haystack) +const Package *_pacman_pkg_isin(const char *needle, const package_list &haystack) { if(needle == NULL) { return NULL; @@ -353,7 +353,7 @@ struct FPackageStrMatcher }; static -int _pacman_strmatcher_match(const FStrMatcher *strmatcher, Package *pkg, int flags) { +int _pacman_strmatcher_match(const FStrMatcher *strmatcher, package_ptr pkg, int flags) { ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, 0)); /* FIXME: Make const when const accessors are available */ @@ -394,12 +394,7 @@ PackageMatcher::PackageMatcher(const FStrMatcher *strmatcher, int flags) PackageMatcher::~PackageMatcher() { } -bool PackageMatcher::match(const libpacman::Package *package) const -{ - return match(package, ~0); -} - -bool PackageMatcher::match(const Package *package, int mask = ~0) const +bool PackageMatcher::match(const package_ptr package, int mask = ~0) const { return _pacman_strmatcher_match(m_strmatcher, package, m_flags & mask); } diff --git a/lib/libpacman/package.h b/lib/libpacman/package.h index 9df27bd..4befd69 100644 --- a/lib/libpacman/package.h +++ b/lib/libpacman/package.h @@ -191,18 +191,17 @@ public: #else typedef libpacman::Package *package_ptr; #endif + typedef FList<package_ptr> package_list; typedef flib::set<libpacman::package_ptr, libpacman::less<const libpacman::Package *>> package_set; class PackageMatcher - : FMatcher<const libpacman::Package *> { public: PackageMatcher(const char *str, int flags = PM_PACKAGE_FLAG_NAME, int strmatcher_flags = FStrMatcher::EQUAL); PackageMatcher(const FStrMatcher *strmatcher, int flags); ~PackageMatcher(); - virtual bool match(const libpacman::Package *package) const override; - bool match(const libpacman::Package *package, int mask) const; + bool match(const libpacman::package_ptr package, int mask = ~0) const; private: const FStrMatcher *m_strmatcher; @@ -239,7 +238,7 @@ private: } // namespace libpacman int _pacman_pkg_cmp(const libpacman::Package *p1, const libpacman::Package *p2); -const libpacman::Package *_pacman_pkg_isin(const char *needle, const FList<libpacman::Package *> &haystack); +const libpacman::Package *_pacman_pkg_isin(const char *needle, const libpacman::package_list &haystack); #endif /* _PACMAN_PACKAGE_H */ diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp index eabe836..4d8f3f7 100644 --- a/lib/libpacman/pacman.cpp +++ b/lib/libpacman/pacman.cpp @@ -580,7 +580,7 @@ pmlist_t *pacman_db_whatprovides(pmdb_t *_db, char *name) ASSERT(db != NULL, return(NULL)); ASSERT(!_pacman_strempty(name), return(NULL)); - return c_cast(new FList<Package *>(db->whatPackagesProvide(name))); + return c_cast(new package_list(db->whatPackagesProvide(name))); } /** Get a group entry from a package database @@ -835,7 +835,7 @@ pmlist_t *pacman_pkg_getowners(const char *filename) ASSERT(handle->db_local != NULL, RET_ERR(PM_ERR_DB_NULL, NULL)); ASSERT(!_pacman_strempty(filename), RET_ERR(PM_ERR_WRONG_ARGS, NULL)); - return c_cast(new FList<Package *>(handle->db_local->getowners(filename))); + return c_cast(new package_list(handle->db_local->getowners(filename))); } /** Create a package from a file. @@ -981,7 +981,7 @@ pmlist_t *pacman_db_search(pmdb_t *_db) ASSERT(!handle->needles.empty(), return(NULL)); ASSERT(db != NULL, return(NULL)); - FList<Package *> *ret = new FList<Package *>(db->filter(handle->needles, + package_list *ret = new package_list(db->filter(handle->needles, PM_PACKAGE_FLAG_NAME | PM_PACKAGE_FLAG_DESCRIPTION | PM_PACKAGE_FLAG_PROVIDES, FStrMatcher::ALL_IGNORE_CASE)); handle->needles.clear(); _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git