X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b2e465d6d32d2dc884f58b94acb7e35f671a87fe..410327e1ee0fac0c28a95e45ea75f7359cc8dcb4:/apt-pkg/versionmatch.h diff --git a/apt-pkg/versionmatch.h b/apt-pkg/versionmatch.h index f8f236a2f..39639a23d 100644 --- a/apt-pkg/versionmatch.h +++ b/apt-pkg/versionmatch.h @@ -1,45 +1,48 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: versionmatch.h,v 1.2 2001/02/20 07:03:17 jgg Exp $ +// $Id: versionmatch.h,v 1.4 2001/05/29 03:07:12 jgg Exp $ /* ###################################################################### - Version Matching - + Version Matching + This module takes a matching string and a type and locates the version record that satisfies the constraint described by the matching string. Version: 1.2* Release: o=Debian,v=2.1*,c=main Release: v=2.1* + Release: a=testing + Release: n=squeeze Release: * Origin: ftp.debian.org - + Release may be a complex type that can specify matches for any of: Version (v= with prefix) Origin (o=) - Archive (a=) + Archive (a=) eg, unstable, testing, stable + Codename (n=) e.g. etch, lenny, squeeze, sid Label (l=) Component (c=) + Binary Architecture (b=) If there are no equals signs in the string then it is scanned in short - form - if it starts with a number it is Version otherwise it is an - Archive. - + form - if it starts with a number it is Version otherwise it is an + Archive or a Codename. + Release may be a '*' to match all releases. - + ##################################################################### */ /*}}}*/ #ifndef PKGLIB_VERSIONMATCH_H #define PKGLIB_VERSIONMATCH_H -#ifdef __GNUG__ -#pragma interface "apt-pkg/versionmatch.h" -#endif #include #include +using std::string; + class pkgVersionMatch -{ +{ // Version Matching string VerStr; bool VerPrefixMatch; @@ -48,10 +51,14 @@ class pkgVersionMatch string RelVerStr; bool RelVerPrefixMatch; string RelOrigin; + string RelRelease; + string RelCodename; string RelArchive; string RelLabel; string RelComponent; - + string RelArchitecture; + bool MatchAll; + // Origin Matching string OrSite; @@ -60,6 +67,8 @@ class pkgVersionMatch enum MatchType {None = 0,Version,Release,Origin} Type; bool MatchVer(const char *A,string B,bool Prefix); + bool ExpressionMatches(const char *pattern, const char *string); + bool ExpressionMatches(const std::string& pattern, const char *string); bool FileMatch(pkgCache::PkgFileIterator File); pkgCache::VerIterator Find(pkgCache::PkgIterator Pkg);