apt
0.9.14
Main Page
Related Pages
Modules
Classes
Files
File List
apt-pkg
version.h
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
#include <apt-pkg/strutl.h>
24
#include <string>
25
26
#ifndef APT_8_CLEANER_HEADERS
27
using
std::string;
28
#endif
29
30
class
pkgVersioningSystem
31
{
32
public
:
33
// Global list of VS's
34
static
pkgVersioningSystem
**GlobalList;
35
static
unsigned
long
GlobalListLen;
36
static
pkgVersioningSystem
*GetVS(
const
char
*Label);
37
38
const
char
*Label;
39
40
// Compare versions..
41
virtual
int
DoCmpVersion(
const
char
*A,
const
char
*Aend,
42
const
char
*B,
const
char
*Bend) = 0;
43
44
virtual
bool
CheckDep(
const
char
*PkgVer,
int
Op,
const
char
*DepVer) = 0;
45
virtual
int
DoCmpReleaseVer(
const
char
*A,
const
char
*Aend,
46
const
char
*B,
const
char
*Bend) = 0;
47
virtual
std::string UpstreamVersion(
const
char
*A) = 0;
48
49
// See if the given VS is compatible with this one..
50
virtual
bool
TestCompatibility(
pkgVersioningSystem
const
&Against)
51
{
return
this
== &Against;};
52
53
// Shortcuts
54
APT_MKSTRCMP(CmpVersion,DoCmpVersion);
55
APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
56
57
pkgVersioningSystem
();
58
virtual
~
pkgVersioningSystem
() {};
59
};
60
61
#endif
pkgVersioningSystem
Definition:
version.h:30
Generated on Sat Dec 7 2013 14:57:05 for apt by
1.8.5