diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2012-06-14 18:48:23 +0200 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2012-06-14 18:48:23 +0200 |
commit | 424ff669be2d1871592247907d977ed9fba3229f (patch) | |
tree | fdc897610e1c414ff8d8feabc58d06664a773a7f /apt-pkg/cachefilter.h | |
parent | cd9694bf7c962b1938690a96017afba54028488a (diff) |
* apt-pkg/deb/deblistparser.cc:
- use PackageArchitectureMatchesSpecification filter
* apt-pkg/cachefilter.cc:
- add PackageArchitectureMatchesSpecification (Closes: #672603)
Diffstat (limited to 'apt-pkg/cachefilter.h')
-rw-r--r-- | apt-pkg/cachefilter.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/apt-pkg/cachefilter.h b/apt-pkg/cachefilter.h index 5d426008b..25cd43f47 100644 --- a/apt-pkg/cachefilter.h +++ b/apt-pkg/cachefilter.h @@ -26,6 +26,36 @@ public: ~PackageNameMatchesRegEx(); }; /*}}}*/ +// PackageArchitectureMatchesSpecification /*{{{*/ +/** \class PackageArchitectureMatchesSpecification + \brief matching against architecture specification strings + + The strings are of the format <kernel>-<cpu> where either component, + or the whole string, can be the wildcard "any" as defined in + debian-policy ยง11.1 "Architecture specification strings". + + Examples: i386, mipsel, linux-any, any-amd64, any */ +class PackageArchitectureMatchesSpecification { + std::string literal; + std::string complete; + bool isPattern; + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; +public: + /** \brief matching against architecture specification strings + * + * @param pattern is the architecture specification string + * @param isPattern defines if the given \b pattern is a + * architecture specification pattern to match others against + * or if it is the fixed string and matched against patterns + */ + PackageArchitectureMatchesSpecification(std::string const &pattern, bool const isPattern = true); + bool operator() (char const * const &arch); + bool operator() (pkgCache::PkgIterator const &Pkg); + bool operator() (pkgCache::VerIterator const &Ver); + ~PackageArchitectureMatchesSpecification(); +}; + /*}}}*/ } } #endif |