debversion.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // -*- mode: cpp; mode: fold -*-
  2. // Description /*{{{*/
  3. // $Id: debversion.h,v 1.3 2001/05/03 05:25:04 jgg Exp $
  4. /* ######################################################################
  5. Debian Version - Versioning system for Debian
  6. This implements the standard Debian versioning system.
  7. ##################################################################### */
  8. /*}}}*/
  9. #ifndef PKGLIB_DEBVERSION_H
  10. #define PKGLIB_DEBVERSION_H
  11. #ifdef __GNUG__
  12. #pragma interface "apt-pkg/debversion.h"
  13. #endif
  14. #include <apt-pkg/version.h>
  15. class debVersioningSystem : public pkgVersioningSystem
  16. {
  17. public:
  18. static int CmpFragment(const char *A, const char *AEnd, const char *B,
  19. const char *BEnd);
  20. // Compare versions..
  21. virtual int DoCmpVersion(const char *A,const char *Aend,
  22. const char *B,const char *Bend);
  23. virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer);
  24. virtual int DoCmpReleaseVer(const char *A,const char *Aend,
  25. const char *B,const char *Bend)
  26. {
  27. return DoCmpVersion(A,Aend,B,Bend);
  28. }
  29. virtual string UpstreamVersion(const char *A);
  30. debVersioningSystem();
  31. };
  32. extern debVersioningSystem debVS;
  33. #ifdef APT_COMPATIBILITY
  34. #if APT_COMPATIBILITY != 986
  35. #warning "Using APT_COMPATIBILITY"
  36. #endif
  37. inline int pkgVersionCompare(const char *A, const char *B)
  38. {
  39. return debVS.CmpVersion(A,B);
  40. }
  41. inline int pkgVersionCompare(const char *A, const char *AEnd,
  42. const char *B, const char *BEnd)
  43. {
  44. return debVS.DoCmpVersion(A,AEnd,B,BEnd);
  45. }
  46. inline int pkgVersionCompare(string A,string B)
  47. {
  48. return debVS.CmpVersion(A,B);
  49. }
  50. inline bool pkgCheckDep(const char *DepVer,const char *PkgVer,int Op)
  51. {
  52. return debVS.CheckDep(PkgVer,Op,DepVer);
  53. }
  54. inline string pkgBaseVersion(const char *Ver)
  55. {
  56. return debVS.UpstreamVersion(Ver);
  57. }
  58. #endif
  59. #endif