1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>LCOV - lcov.info - /usr/include/apt-pkg/version.h</title>
<link rel="stylesheet" type="text/css" href="../../../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td class="headerItem" width="20%">Current view:</td>
<td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">usr/include/apt-pkg</a> - version.h</td>
</tr>
<tr>
<td class="headerItem" width="20%">Test:</td>
<td class="headerValue" width="80%" colspan=4>lcov.info</td>
</tr>
<tr>
<td class="headerItem" width="20%">Date:</td>
<td class="headerValue" width="20%">2008-08-14</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Instrumented lines:</td>
<td class="headerValue" width="20%">1</td>
</tr>
<tr>
<td class="headerItem" width="20%">Code covered:</td>
<td class="headerValue" width="20%">100.0 %</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Executed lines:</td>
<td class="headerValue" width="20%">1</td>
</tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td><pre class="source">
<span class="lineNum"> 1 </span> : // -*- mode: cpp; mode: fold -*-
<span class="lineNum"> 2 </span> : // Description /*{{{*/
<span class="lineNum"> 3 </span> : // $Id: version.h,v 1.8 2001/05/27 05:55:27 jgg Exp $
<span class="lineNum"> 4 </span> : /* ######################################################################
<span class="lineNum"> 5 </span> :
<span class="lineNum"> 6 </span> : Version - Versioning system..
<span class="lineNum"> 7 </span> :
<span class="lineNum"> 8 </span> : The versioning system represents how versions are compared, represented
<span class="lineNum"> 9 </span> : and how dependencies are evaluated. As a general rule versioning
<span class="lineNum"> 10 </span> : systems are not compatible unless specifically allowed by the
<span class="lineNum"> 11 </span> : TestCompatibility query.
<span class="lineNum"> 12 </span> :
<span class="lineNum"> 13 </span> : The versions are stored in a global list of versions, but that is just
<span class="lineNum"> 14 </span> : so that they can be queried when someone does 'apt-get -v'.
<span class="lineNum"> 15 </span> : pkgSystem provides the proper means to access the VS for the active
<span class="lineNum"> 16 </span> : system.
<span class="lineNum"> 17 </span> :
<span class="lineNum"> 18 </span> : ##################################################################### */
<span class="lineNum"> 19 </span> : /*}}}*/
<span class="lineNum"> 20 </span> : #ifndef PKGLIB_VERSION_H
<span class="lineNum"> 21 </span> : #define PKGLIB_VERSION_H
<span class="lineNum"> 22 </span> :
<span class="lineNum"> 23 </span> :
<span class="lineNum"> 24 </span> : #include <apt-pkg/strutl.h>
<span class="lineNum"> 25 </span> : #include <string>
<span class="lineNum"> 26 </span> :
<span class="lineNum"> 27 </span> : using std::string;
<span class="lineNum"> 28 </span> :
<span class="lineNum"> 29 </span> : class pkgVersioningSystem
<span class="lineNum"> 30 </span> : {
<span class="lineNum"> 31 </span> : public:
<span class="lineNum"> 32 </span> : // Global list of VS's
<span class="lineNum"> 33 </span> : static pkgVersioningSystem **GlobalList;
<span class="lineNum"> 34 </span> : static unsigned long GlobalListLen;
<span class="lineNum"> 35 </span> : static pkgVersioningSystem *GetVS(const char *Label);
<span class="lineNum"> 36 </span> :
<span class="lineNum"> 37 </span> : const char *Label;
<span class="lineNum"> 38 </span> :
<span class="lineNum"> 39 </span> : // Compare versions..
<span class="lineNum"> 40 </span> : virtual int DoCmpVersion(const char *A,const char *Aend,
<span class="lineNum"> 41 </span> : const char *B,const char *Bend) = 0;
<span class="lineNum"> 42 </span> :
<span class="lineNum"> 43 </span> : virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer) = 0;
<span class="lineNum"> 44 </span> : virtual int DoCmpReleaseVer(const char *A,const char *Aend,
<span class="lineNum"> 45 </span> : const char *B,const char *Bend) = 0;
<span class="lineNum"> 46 </span> : virtual string UpstreamVersion(const char *A) = 0;
<span class="lineNum"> 47 </span> :
<span class="lineNum"> 48 </span> : // See if the given VS is compatible with this one..
<span class="lineNum"> 49 </span> : virtual bool TestCompatibility(pkgVersioningSystem const &Against)
<span class="lineNum"> 50 </span> : {return this == &Against;};
<span class="lineNum"> 51 </span> :
<span class="lineNum"> 52 </span> : // Shortcuts
<span class="lineNum"> 53 </span><span class="lineCov"> 14 : APT_MKSTRCMP(CmpVersion,DoCmpVersion);</span>
<span class="lineNum"> 54 </span> : APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
<span class="lineNum"> 55 </span> :
<span class="lineNum"> 56 </span> : pkgVersioningSystem();
<span class="lineNum"> 57 </span> : virtual ~pkgVersioningSystem() {};
<span class="lineNum"> 58 </span> : };
<span class="lineNum"> 59 </span> :
<span class="lineNum"> 60 </span> : #ifdef APT_COMPATIBILITY
<span class="lineNum"> 61 </span> : #include <apt-pkg/debversion.h>
<span class="lineNum"> 62 </span> : #endif
<span class="lineNum"> 63 </span> :
<span class="lineNum"> 64 </span> : #endif
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
</table>
<br>
</body>
</html>
|