apt @VERSION@

debversion.h

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