]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/version.h
allow methods to be disabled and redirected via config
[apt.git] / apt-pkg / version.h
index 27e8e1f1bc016c7644eb2ae0dfd585572d30a6df..5110ecaa7d9f8d0ed4e11dd1534209faca6599f4 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: version.h,v 1.6 2001/02/20 07:03:17 jgg Exp $
+// $Id: version.h,v 1.8 2001/05/27 05:55:27 jgg Exp $
 /* ######################################################################
 
    Version - Versioning system..
 #ifndef PKGLIB_VERSION_H
 #define PKGLIB_VERSION_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/version.h"
-#endif 
-
+#include <apt-pkg/strutl.h>
 #include <string>
 
+#ifndef APT_8_CLEANER_HEADERS
+using std::string;
+#endif
+
 class pkgVersioningSystem
 {
    public:
    // Global list of VS's
    static pkgVersioningSystem **GlobalList;
    static unsigned long GlobalListLen;
-   static pkgVersioningSystem *GetVS(const char *Label);
+   static pkgVersioningSystem *GetVS(const char *Label) APT_PURE;
    
    const char *Label;
    
    // Compare versions..
    virtual int DoCmpVersion(const char *A,const char *Aend,
                          const char *B,const char *Bend) = 0;   
+
    virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer) = 0;
    virtual int DoCmpReleaseVer(const char *A,const char *Aend,
                               const char *B,const char *Bend) = 0;
-   virtual string UpstreamVersion(const char *A) = 0;
+   virtual std::string UpstreamVersion(const char *A) = 0;
    
    // See if the given VS is compatible with this one.. 
    virtual bool TestCompatibility(pkgVersioningSystem const &Against) 
                 {return this == &Against;};
 
    // Shortcuts
-   inline int CmpVersion(const char *A, const char *B)
-   {
-      return DoCmpVersion(A,A+strlen(A),B,B+strlen(B));
-   };
-   inline int CmpVersion(string A,string B)
-   {
-      return DoCmpVersion(A.begin(),A.end(),B.begin(),B.end());
-   };  
-   inline int CmpReleaseVer(const char *A, const char *B)
-   {
-      return DoCmpReleaseVer(A,A+strlen(A),B,B+strlen(B));
-   };
-   inline int CmpReleaseVer(string A,string B)
-   {
-      return DoCmpReleaseVer(A.begin(),A.end(),B.begin(),B.end());
-   };  
+   APT_MKSTRCMP(CmpVersion,DoCmpVersion);
+   APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
    
    pkgVersioningSystem();
-   virtual ~pkgVersioningSystem() {};
+   virtual ~pkgVersioningSystem();
 };
 
-#ifdef APT_COMPATIBILITY
-#include <apt-pkg/debversion.h>
-#endif
-
 #endif