apt @VERSION@
|
00001 // -*- mode: cpp; mode: fold -*- 00002 // Description /*{{{*/ 00003 // $Id: debversion.h,v 1.3 2001/05/03 05:25:04 jgg Exp $ 00004 /* ###################################################################### 00005 00006 Debian Version - Versioning system for Debian 00007 00008 This implements the standard Debian versioning system. 00009 00010 ##################################################################### */ 00011 /*}}}*/ 00012 #ifndef PKGLIB_DEBVERSION_H 00013 #define PKGLIB_DEBVERSION_H 00014 00015 00016 00017 #include <apt-pkg/version.h> 00018 00019 class debVersioningSystem : public pkgVersioningSystem 00020 { 00021 public: 00022 00023 static int CmpFragment(const char *A, const char *AEnd, const char *B, 00024 const char *BEnd); 00025 00026 // Compare versions.. 00027 virtual int DoCmpVersion(const char *A,const char *Aend, 00028 const char *B,const char *Bend); 00029 virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer); 00030 virtual int DoCmpReleaseVer(const char *A,const char *Aend, 00031 const char *B,const char *Bend) 00032 { 00033 return DoCmpVersion(A,Aend,B,Bend); 00034 } 00035 virtual string UpstreamVersion(const char *A); 00036 00037 debVersioningSystem(); 00038 }; 00039 00040 extern debVersioningSystem debVS; 00041 00042 #ifdef APT_COMPATIBILITY 00043 #if APT_COMPATIBILITY != 986 00044 #warning "Using APT_COMPATIBILITY" 00045 #endif 00046 00047 inline int pkgVersionCompare(const char *A, const char *B) 00048 { 00049 return debVS.CmpVersion(A,B); 00050 } 00051 inline int pkgVersionCompare(const char *A, const char *AEnd, 00052 const char *B, const char *BEnd) 00053 { 00054 return debVS.DoCmpVersion(A,AEnd,B,BEnd); 00055 } 00056 inline int pkgVersionCompare(string A,string B) 00057 { 00058 return debVS.CmpVersion(A,B); 00059 } 00060 inline bool pkgCheckDep(const char *DepVer,const char *PkgVer,int Op) 00061 { 00062 return debVS.CheckDep(PkgVer,Op,DepVer); 00063 } 00064 inline string pkgBaseVersion(const char *Ver) 00065 { 00066 return debVS.UpstreamVersion(Ver); 00067 } 00068 #endif 00069 00070 #endif