summaryrefslogtreecommitdiff
path: root/rep/usr/include/apt-pkg/algorithms.h.gcov.html
diff options
context:
space:
mode:
authorEnrico Zini <enrico@enricozini.org>2009-09-29 15:08:02 +0100
committerEnrico Zini <enrico@enricozini.org>2009-09-29 15:08:02 +0100
commit006621455482edd8abf46a05292120745f99f7ec (patch)
treeff1318ccc409a3dd0519035ce2949ac8a48e969e /rep/usr/include/apt-pkg/algorithms.h.gcov.html
downloadlibept-006621455482edd8abf46a05292120745f99f7ec.tar.gz
Initial import
Diffstat (limited to 'rep/usr/include/apt-pkg/algorithms.h.gcov.html')
-rw-r--r--rep/usr/include/apt-pkg/algorithms.h.gcov.html204
1 files changed, 204 insertions, 0 deletions
diff --git a/rep/usr/include/apt-pkg/algorithms.h.gcov.html b/rep/usr/include/apt-pkg/algorithms.h.gcov.html
new file mode 100644
index 0000000..c11132e
--- /dev/null
+++ b/rep/usr/include/apt-pkg/algorithms.h.gcov.html
@@ -0,0 +1,204 @@
+<!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/algorithms.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&nbsp;view:</td>
+ <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">usr/include/apt-pkg</a> - algorithms.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&nbsp;lines:</td>
+ <td class="headerValue" width="20%">3</td>
+ </tr>
+ <tr>
+ <td class="headerItem" width="20%">Code&nbsp;covered:</td>
+ <td class="headerValue" width="20%">66.7 %</td>
+ <td width="20%"></td>
+ <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
+ <td class="headerValue" width="20%">2</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: algorithms.h,v 1.10 2001/05/22 04:17:41 jgg Exp $
+<span class="lineNum"> 4 </span> : /* ######################################################################
+<span class="lineNum"> 5 </span> :
+<span class="lineNum"> 6 </span> : Algorithms - A set of misc algorithms
+<span class="lineNum"> 7 </span> :
+<span class="lineNum"> 8 </span> : This simulate class displays what the ordering code has done and
+<span class="lineNum"> 9 </span> : analyses it with a fresh new dependency cache. In this way we can
+<span class="lineNum"> 10 </span> : see all of the effects of an upgrade run.
+<span class="lineNum"> 11 </span> :
+<span class="lineNum"> 12 </span> : pkgDistUpgrade computes an upgrade that causes as many packages as
+<span class="lineNum"> 13 </span> : possible to move to the newest verison.
+<span class="lineNum"> 14 </span> :
+<span class="lineNum"> 15 </span> : pkgApplyStatus sets the target state based on the content of the status
+<span class="lineNum"> 16 </span> : field in the status file. It is important to get proper crash recovery.
+<span class="lineNum"> 17 </span> :
+<span class="lineNum"> 18 </span> : pkgFixBroken corrects a broken system so that it is in a sane state.
+<span class="lineNum"> 19 </span> :
+<span class="lineNum"> 20 </span> : pkgAllUpgrade attempts to upgade as many packages as possible but
+<span class="lineNum"> 21 </span> : without installing new packages.
+<span class="lineNum"> 22 </span> :
+<span class="lineNum"> 23 </span> : The problem resolver class contains a number of complex algorithms
+<span class="lineNum"> 24 </span> : to try to best-guess an upgrade state. It solves the problem of
+<span class="lineNum"> 25 </span> : maximizing the number of install state packages while having no broken
+<span class="lineNum"> 26 </span> : packages.
+<span class="lineNum"> 27 </span> :
+<span class="lineNum"> 28 </span> : ##################################################################### */
+<span class="lineNum"> 29 </span> : /*}}}*/
+<span class="lineNum"> 30 </span> : #ifndef PKGLIB_ALGORITHMS_H
+<span class="lineNum"> 31 </span> : #define PKGLIB_ALGORITHMS_H
+<span class="lineNum"> 32 </span> :
+<span class="lineNum"> 33 </span> :
+<span class="lineNum"> 34 </span> : #include &lt;apt-pkg/packagemanager.h&gt;
+<span class="lineNum"> 35 </span> : #include &lt;apt-pkg/depcache.h&gt;
+<span class="lineNum"> 36 </span> : #include &lt;apt-pkg/acquire.h&gt;
+<span class="lineNum"> 37 </span> :
+<span class="lineNum"> 38 </span> : #include &lt;iostream&gt;
+<span class="lineNum"> 39 </span> :
+<span class="lineNum"> 40 </span> : using std::ostream;
+<span class="lineNum"> 41 </span> :
+<span class="lineNum"> 42 </span> : class pkgSimulate : public pkgPackageManager
+<span class="lineNum"> 43 </span> : {
+<span class="lineNum"> 44 </span> : protected:
+<span class="lineNum"> 45 </span> :
+<span class="lineNum"> 46 </span> : class Policy : public pkgDepCache::Policy
+<span class="lineNum"> 47 </span> : {
+<span class="lineNum"> 48 </span> : pkgDepCache *Cache;
+<span class="lineNum"> 49 </span> : public:
+<span class="lineNum"> 50 </span> :
+<span class="lineNum"> 51 </span> : virtual VerIterator GetCandidateVer(PkgIterator Pkg)
+<span class="lineNum"> 52 </span> : {
+<span class="lineNum"> 53 </span> : return (*Cache)[Pkg].CandidateVerIter(*Cache);
+<span class="lineNum"> 54 </span> : }
+<span class="lineNum"> 55 </span> :
+<span class="lineNum"> 56 </span> : Policy(pkgDepCache *Cache) : Cache(Cache) {};
+<span class="lineNum"> 57 </span> : };
+<span class="lineNum"> 58 </span> :
+<span class="lineNum"> 59 </span> : unsigned char *Flags;
+<span class="lineNum"> 60 </span> :
+<span class="lineNum"> 61 </span> : Policy iPolicy;
+<span class="lineNum"> 62 </span> : pkgDepCache Sim;
+<span class="lineNum"> 63 </span> :
+<span class="lineNum"> 64 </span> : // The Actuall installation implementation
+<span class="lineNum"> 65 </span> : virtual bool Install(PkgIterator Pkg,string File);
+<span class="lineNum"> 66 </span> : virtual bool Configure(PkgIterator Pkg);
+<span class="lineNum"> 67 </span> : virtual bool Remove(PkgIterator Pkg,bool Purge);
+<span class="lineNum"> 68 </span> :
+<span class="lineNum"> 69 </span> : private:
+<span class="lineNum"> 70 </span> : void ShortBreaks();
+<span class="lineNum"> 71 </span> : void Describe(PkgIterator iPkg,ostream &amp;out,bool Current,bool Candidate);
+<span class="lineNum"> 72 </span> :
+<span class="lineNum"> 73 </span> : public:
+<span class="lineNum"> 74 </span> :
+<span class="lineNum"> 75 </span> : pkgSimulate(pkgDepCache *Cache);
+<span class="lineNum"> 76 </span> : };
+<span class="lineNum"> 77 </span> :
+<span class="lineNum"> 78 </span> : class pkgProblemResolver
+<span class="lineNum"> 79 </span> : {
+<span class="lineNum"> 80 </span> : pkgDepCache &amp;Cache;
+<span class="lineNum"> 81 </span> : typedef pkgCache::PkgIterator PkgIterator;
+<span class="lineNum"> 82 </span> : typedef pkgCache::VerIterator VerIterator;
+<span class="lineNum"> 83 </span> : typedef pkgCache::DepIterator DepIterator;
+<span class="lineNum"> 84 </span> : typedef pkgCache::PrvIterator PrvIterator;
+<span class="lineNum"> 85 </span> : typedef pkgCache::Version Version;
+<span class="lineNum"> 86 </span> : typedef pkgCache::Package Package;
+<span class="lineNum"> 87 </span> :
+<span class="lineNum"> 88 </span> : enum Flags {Protected = (1 &lt;&lt; 0), PreInstalled = (1 &lt;&lt; 1),
+<span class="lineNum"> 89 </span> : Upgradable = (1 &lt;&lt; 2), ReInstateTried = (1 &lt;&lt; 3),
+<span class="lineNum"> 90 </span> : ToRemove = (1 &lt;&lt; 4)};
+<span class="lineNum"> 91 </span> : signed short *Scores;
+<span class="lineNum"> 92 </span> : unsigned char *Flags;
+<span class="lineNum"> 93 </span> : bool Debug;
+<span class="lineNum"> 94 </span> :
+<span class="lineNum"> 95 </span> : // Sort stuff
+<span class="lineNum"> 96 </span> : static pkgProblemResolver *This;
+<span class="lineNum"> 97 </span> : static int ScoreSort(const void *a,const void *b);
+<span class="lineNum"> 98 </span> :
+<span class="lineNum"> 99 </span> : struct PackageKill
+<span class="lineNum"> 100 </span> : {
+<span class="lineNum"> 101 </span> : PkgIterator Pkg;
+<span class="lineNum"> 102 </span> : DepIterator Dep;
+<span class="lineNum"> 103 </span> : };
+<span class="lineNum"> 104 </span> :
+<span class="lineNum"> 105 </span> : void MakeScores();
+<span class="lineNum"> 106 </span> : bool DoUpgrade(pkgCache::PkgIterator Pkg);
+<span class="lineNum"> 107 </span> :
+<span class="lineNum"> 108 </span> : public:
+<span class="lineNum"> 109 </span> :
+<span class="lineNum"> 110 </span><span class="lineCov"> 4 : inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg-&gt;ID] |= Protected;};</span>
+<span class="lineNum"> 111 </span><span class="lineNoCov"> 0 : inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg-&gt;ID] |= ToRemove;};</span>
+<span class="lineNum"> 112 </span><span class="lineCov"> 4 : inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg-&gt;ID] &amp;= ~(Protected | ToRemove);};</span>
+<span class="lineNum"> 113 </span> :
+<span class="lineNum"> 114 </span> : // Try to intelligently resolve problems by installing and removing packages
+<span class="lineNum"> 115 </span> : bool Resolve(bool BrokenFix = false);
+<span class="lineNum"> 116 </span> :
+<span class="lineNum"> 117 </span> : // Try to resolve problems only by using keep
+<span class="lineNum"> 118 </span> : bool ResolveByKeep();
+<span class="lineNum"> 119 </span> :
+<span class="lineNum"> 120 </span> : // Install all protected packages
+<span class="lineNum"> 121 </span> : void InstallProtect();
+<span class="lineNum"> 122 </span> :
+<span class="lineNum"> 123 </span> : pkgProblemResolver(pkgDepCache *Cache);
+<span class="lineNum"> 124 </span> : ~pkgProblemResolver();
+<span class="lineNum"> 125 </span> : };
+<span class="lineNum"> 126 </span> :
+<span class="lineNum"> 127 </span> : bool pkgDistUpgrade(pkgDepCache &amp;Cache);
+<span class="lineNum"> 128 </span> : bool pkgApplyStatus(pkgDepCache &amp;Cache);
+<span class="lineNum"> 129 </span> : bool pkgFixBroken(pkgDepCache &amp;Cache);
+<span class="lineNum"> 130 </span> : bool pkgAllUpgrade(pkgDepCache &amp;Cache);
+<span class="lineNum"> 131 </span> : bool pkgMinimizeUpgrade(pkgDepCache &amp;Cache);
+<span class="lineNum"> 132 </span> :
+<span class="lineNum"> 133 </span> : void pkgPrioSortList(pkgCache &amp;Cache,pkgCache::Version **List);
+<span class="lineNum"> 134 </span> :
+<span class="lineNum"> 135 </span> : bool ListUpdate(pkgAcquireStatus &amp;progress, pkgSourceList &amp;List, int PulseInterval=0);
+<span class="lineNum"> 136 </span> :
+<span class="lineNum"> 137 </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>