LCOV - lcov.info - /usr/include/apt-pkg/version.h

LTP GCOV extension - code coverage report
Current view: | directory - usr/include/apt-pkg - version.h
Test: | lcov.info
Date: | 2008-08-14 |  | Instrumented lines: | 1
Code covered: | 100.0 % |  | Executed lines: | 1

           1                 : // -*- mode: cpp; mode: fold -*-
           2                 : // Description                                                          /*{{{*/
           3                 : // $Id: version.h,v 1.8 2001/05/27 05:55:27 jgg Exp $
           4                 : /* ######################################################################
           5                 :
           6                 :    Version - Versioning system..
           7                 :
           8                 :    The versioning system represents how versions are compared, represented
           9                 :    and how dependencies are evaluated. As a general rule versioning
          10                 :    systems are not compatible unless specifically allowed by the
          11                 :    TestCompatibility query.
          12                 :
          13                 :    The versions are stored in a global list of versions, but that is just
          14                 :    so that they can be queried when someone does 'apt-get -v'.
          15                 :    pkgSystem provides the proper means to access the VS for the active
          16                 :    system.
          17                 :
          18                 :    ##################################################################### */
          19                 :                                                                         /*}}}*/
          20                 : #ifndef PKGLIB_VERSION_H
          21                 : #define PKGLIB_VERSION_H
          22                 :
          23                 :
          24                 : #include <apt-pkg/strutl.h>
          25                 : #include <string>
          26                 :
          27                 : using std::string;
          28                 :
          29                 : class pkgVersioningSystem
          30                 : {
          31                 :    public:
          32                 :    // Global list of VS's
          33                 :    static pkgVersioningSystem **GlobalList;
          34                 :    static unsigned long GlobalListLen;
          35                 :    static pkgVersioningSystem *GetVS(const char *Label);
          36                 :
          37                 :    const char *Label;
          38                 :
          39                 :    // Compare versions..
          40                 :    virtual int DoCmpVersion(const char *A,const char *Aend,
          41                 :                           const char *B,const char *Bend) = 0;
          42                 :
          43                 :    virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer) = 0;
          44                 :    virtual int DoCmpReleaseVer(const char *A,const char *Aend,
          45                 :                                const char *B,const char *Bend) = 0;
          46                 :    virtual string UpstreamVersion(const char *A) = 0;
          47                 :
          48                 :    // See if the given VS is compatible with this one..
          49                 :    virtual bool TestCompatibility(pkgVersioningSystem const &Against)
          50                 :                 {return this == &Against;};
          51                 :
          52                 :    // Shortcuts
          53              14 :    APT_MKSTRCMP(CmpVersion,DoCmpVersion);
          54                 :    APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
          55                 :
          56                 :    pkgVersioningSystem();
          57                 :    virtual ~pkgVersioningSystem() {};
          58                 : };
          59                 :
          60                 : #ifdef APT_COMPATIBILITY
          61                 : #include <apt-pkg/debversion.h>
          62                 : #endif
          63                 :
          64                 : #endif

Generated by: LTP GCOV extension version 1.6