diff options
Diffstat (limited to 'rep/usr/include/apt-pkg')
-rw-r--r-- | rep/usr/include/apt-pkg/acquire.h.gcov.html | 835 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/algorithms.h.gcov.html | 204 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/cachefile.h.gcov.html | 123 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/cacheiterators.h.gcov.html | 503 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/depcache.h.gcov.html | 492 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/error.h.gcov.html | 168 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/fileutl.h.gcov.html | 165 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/index.html | 164 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/pkgcache.h.gcov.html | 422 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/progress.h.gcov.html | 156 | ||||
-rw-r--r-- | rep/usr/include/apt-pkg/version.h.gcov.html | 131 |
11 files changed, 0 insertions, 3363 deletions
diff --git a/rep/usr/include/apt-pkg/acquire.h.gcov.html b/rep/usr/include/apt-pkg/acquire.h.gcov.html deleted file mode 100644 index e55d6ed..0000000 --- a/rep/usr/include/apt-pkg/acquire.h.gcov.html +++ /dev/null @@ -1,835 +0,0 @@ -<!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/acquire.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> - acquire.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%">5</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">0.0 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">0</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: acquire.h,v 1.29.2.1 2003/12/24 23:09:17 mdz Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : Acquire - File Acquiration -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : This module contians the Acquire system. It is responsible for bringing -<span class="lineNum"> 9 </span> : files into the local pathname space. It deals with URIs for files and -<span class="lineNum"> 10 </span> : URI handlers responsible for downloading or finding the URIs. -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : Each file to download is represented by an Acquire::Item class subclassed -<span class="lineNum"> 13 </span> : into a specialization. The Item class can add itself to several URI -<span class="lineNum"> 14 </span> : acquire queues each prioritized by the download scheduler. When the -<span class="lineNum"> 15 </span> : system is run the proper URI handlers are spawned and the the acquire -<span class="lineNum"> 16 </span> : queues are fed into the handlers by the schedular until the queues are -<span class="lineNum"> 17 </span> : empty. This allows for an Item to be downloaded from an alternate source -<span class="lineNum"> 18 </span> : if the first try turns out to fail. It also alows concurrent downloading -<span class="lineNum"> 19 </span> : of multiple items from multiple sources as well as dynamic balancing -<span class="lineNum"> 20 </span> : of load between the sources. -<span class="lineNum"> 21 </span> : -<span class="lineNum"> 22 </span> : Schedualing of downloads is done on a first ask first get basis. This -<span class="lineNum"> 23 </span> : preserves the order of the download as much as possible. And means the -<span class="lineNum"> 24 </span> : fastest source will tend to process the largest number of files. -<span class="lineNum"> 25 </span> : -<span class="lineNum"> 26 </span> : Internal methods and queues for performing gzip decompression, -<span class="lineNum"> 27 </span> : md5sum hashing and file copying are provided to allow items to apply -<span class="lineNum"> 28 </span> : a number of transformations to the data files they are working with. -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span> : ##################################################################### */ -<span class="lineNum"> 31 </span> : /*}}}*/ -<span class="lineNum"> 32 </span> : -<span class="lineNum"> 33 </span> : /** \defgroup acquire Acquire system -<span class="lineNum"> 34 </span> : * -<span class="lineNum"> 35 </span> : * \brief The Acquire system is responsible for retrieving files from -<span class="lineNum"> 36 </span> : * local or remote URIs and postprocessing them (for instance, -<span class="lineNum"> 37 </span> : * verifying their authenticity). The core class in this system is -<span class="lineNum"> 38 </span> : * pkgAcquire, which is responsible for managing the download queues -<span class="lineNum"> 39 </span> : * during the download. There is at least one download queue for -<span class="lineNum"> 40 </span> : * each supported protocol; protocols such as http may provide one -<span class="lineNum"> 41 </span> : * queue per host. -<span class="lineNum"> 42 </span> : * -<span class="lineNum"> 43 </span> : * Each file to download is represented by a subclass of -<span class="lineNum"> 44 </span> : * pkgAcquire::Item. The files add themselves to the download -<span class="lineNum"> 45 </span> : * queue(s) by providing their URI information to -<span class="lineNum"> 46 </span> : * pkgAcquire::Item::QueueURI, which calls pkgAcquire::Enqueue. -<span class="lineNum"> 47 </span> : * -<span class="lineNum"> 48 </span> : * Once the system is set up, the Run method will spawn subprocesses -<span class="lineNum"> 49 </span> : * to handle the enqueued URIs; the scheduler will then take items -<span class="lineNum"> 50 </span> : * from the queues and feed them into the handlers until the queues -<span class="lineNum"> 51 </span> : * are empty. -<span class="lineNum"> 52 </span> : * -<span class="lineNum"> 53 </span> : * \todo Acquire supports inserting an object into several queues at -<span class="lineNum"> 54 </span> : * once, but it is not clear what its behavior in this case is, and -<span class="lineNum"> 55 </span> : * no subclass of pkgAcquire::Item seems to actually use this -<span class="lineNum"> 56 </span> : * capability. -<span class="lineNum"> 57 </span> : */ -<span class="lineNum"> 58 </span> : -<span class="lineNum"> 59 </span> : /** \addtogroup acquire -<span class="lineNum"> 60 </span> : * -<span class="lineNum"> 61 </span> : * @{ -<span class="lineNum"> 62 </span> : * -<span class="lineNum"> 63 </span> : * \file acquire.h -<span class="lineNum"> 64 </span> : */ -<span class="lineNum"> 65 </span> : -<span class="lineNum"> 66 </span> : #ifndef PKGLIB_ACQUIRE_H -<span class="lineNum"> 67 </span> : #define PKGLIB_ACQUIRE_H -<span class="lineNum"> 68 </span> : -<span class="lineNum"> 69 </span> : #include <vector> -<span class="lineNum"> 70 </span> : #include <string> -<span class="lineNum"> 71 </span> : -<span class="lineNum"> 72 </span> : using std::vector; -<span class="lineNum"> 73 </span> : using std::string; -<span class="lineNum"> 74 </span> : -<span class="lineNum"> 75 </span> : -<span class="lineNum"> 76 </span> : #include <sys/time.h> -<span class="lineNum"> 77 </span> : #include <unistd.h> -<span class="lineNum"> 78 </span> : -<span class="lineNum"> 79 </span> : class pkgAcquireStatus; -<span class="lineNum"> 80 </span> : -<span class="lineNum"> 81 </span> : /** \brief The core download scheduler. -<span class="lineNum"> 82 </span> : * -<span class="lineNum"> 83 </span> : * This class represents an ongoing download. It manages the lists -<span class="lineNum"> 84 </span> : * of active and pending downloads and handles setting up and tearing -<span class="lineNum"> 85 </span> : * down download-related structures. -<span class="lineNum"> 86 </span> : * -<span class="lineNum"> 87 </span> : * \todo Why all the protected data items and methods? -<span class="lineNum"> 88 </span> : */ -<span class="lineNum"> 89 </span> : class pkgAcquire -<span class="lineNum"> 90 </span> : { -<span class="lineNum"> 91 </span> : public: -<span class="lineNum"> 92 </span> : -<span class="lineNum"> 93 </span> : class Item; -<span class="lineNum"> 94 </span> : class Queue; -<span class="lineNum"> 95 </span> : class Worker; -<span class="lineNum"> 96 </span> : struct MethodConfig; -<span class="lineNum"> 97 </span> : struct ItemDesc; -<span class="lineNum"> 98 </span> : friend class Item; -<span class="lineNum"> 99 </span> : friend class Queue; -<span class="lineNum"> 100 </span> : -<span class="lineNum"> 101 </span> : typedef vector<Item *>::iterator ItemIterator; -<span class="lineNum"> 102 </span> : typedef vector<Item *>::const_iterator ItemCIterator; -<span class="lineNum"> 103 </span> : -<span class="lineNum"> 104 </span> : protected: -<span class="lineNum"> 105 </span> : -<span class="lineNum"> 106 </span> : /** \brief A list of items to download. -<span class="lineNum"> 107 </span> : * -<span class="lineNum"> 108 </span> : * This is built monotonically as items are created and only -<span class="lineNum"> 109 </span> : * emptied when the download shuts down. -<span class="lineNum"> 110 </span> : */ -<span class="lineNum"> 111 </span> : vector<Item *> Items; -<span class="lineNum"> 112 </span> : -<span class="lineNum"> 113 </span> : /** \brief The head of the list of active queues. -<span class="lineNum"> 114 </span> : * -<span class="lineNum"> 115 </span> : * \todo why a hand-managed list of queues instead of std::list or -<span class="lineNum"> 116 </span> : * std::set? -<span class="lineNum"> 117 </span> : */ -<span class="lineNum"> 118 </span> : Queue *Queues; -<span class="lineNum"> 119 </span> : -<span class="lineNum"> 120 </span> : /** \brief The head of the list of active workers. -<span class="lineNum"> 121 </span> : * -<span class="lineNum"> 122 </span> : * \todo why a hand-managed list of workers instead of std::list -<span class="lineNum"> 123 </span> : * or std::set? -<span class="lineNum"> 124 </span> : */ -<span class="lineNum"> 125 </span> : Worker *Workers; -<span class="lineNum"> 126 </span> : -<span class="lineNum"> 127 </span> : /** \brief The head of the list of acquire method configurations. -<span class="lineNum"> 128 </span> : * -<span class="lineNum"> 129 </span> : * Each protocol (http, ftp, gzip, etc) via which files can be -<span class="lineNum"> 130 </span> : * fetched can have a representation in this list. The -<span class="lineNum"> 131 </span> : * configuration data is filled in by parsing the 100 Capabilities -<span class="lineNum"> 132 </span> : * string output by a method on startup (see -<span class="lineNum"> 133 </span> : * pkgAcqMethod::pkgAcqMethod and pkgAcquire::GetConfig). -<span class="lineNum"> 134 </span> : * -<span class="lineNum"> 135 </span> : * \todo why a hand-managed config dictionary instead of std::map? -<span class="lineNum"> 136 </span> : */ -<span class="lineNum"> 137 </span> : MethodConfig *Configs; -<span class="lineNum"> 138 </span> : -<span class="lineNum"> 139 </span> : /** \brief The progress indicator for this download. */ -<span class="lineNum"> 140 </span> : pkgAcquireStatus *Log; -<span class="lineNum"> 141 </span> : -<span class="lineNum"> 142 </span> : /** \brief The total size of the files which are to be fetched. -<span class="lineNum"> 143 </span> : * -<span class="lineNum"> 144 </span> : * This is not necessarily the total number of bytes to download -<span class="lineNum"> 145 </span> : * when, e.g., download resumption and list updates via patches -<span class="lineNum"> 146 </span> : * are taken into account. -<span class="lineNum"> 147 </span> : */ -<span class="lineNum"> 148 </span> : unsigned long ToFetch; -<span class="lineNum"> 149 </span> : -<span class="lineNum"> 150 </span> : // Configurable parameters for the scheduler -<span class="lineNum"> 151 </span> : -<span class="lineNum"> 152 </span> : /** \brief Represents the queuing strategy for remote URIs. */ -<span class="lineNum"> 153 </span> : enum QueueStrategy { -<span class="lineNum"> 154 </span> : /** \brief Generate one queue for each protocol/host combination; downloads from -<span class="lineNum"> 155 </span> : * multiple hosts can proceed in parallel. -<span class="lineNum"> 156 </span> : */ -<span class="lineNum"> 157 </span> : QueueHost, -<span class="lineNum"> 158 </span> : /** \brief Generate a single queue for each protocol; serialize -<span class="lineNum"> 159 </span> : * downloads from multiple hosts. -<span class="lineNum"> 160 </span> : */ -<span class="lineNum"> 161 </span> : QueueAccess} QueueMode; -<span class="lineNum"> 162 </span> : -<span class="lineNum"> 163 </span> : /** \brief If \b true, debugging information will be dumped to std::clog. */ -<span class="lineNum"> 164 </span> : bool Debug; -<span class="lineNum"> 165 </span> : /** \brief If \b true, a download is currently in progress. */ -<span class="lineNum"> 166 </span> : bool Running; -<span class="lineNum"> 167 </span> : -<span class="lineNum"> 168 </span> : /** \brief Add the given item to the list of items. */ -<span class="lineNum"> 169 </span> : void Add(Item *Item); -<span class="lineNum"> 170 </span> : -<span class="lineNum"> 171 </span> : /** \brief Remove the given item from the list of items. */ -<span class="lineNum"> 172 </span> : void Remove(Item *Item); -<span class="lineNum"> 173 </span> : -<span class="lineNum"> 174 </span> : /** \brief Add the given worker to the list of workers. */ -<span class="lineNum"> 175 </span> : void Add(Worker *Work); -<span class="lineNum"> 176 </span> : -<span class="lineNum"> 177 </span> : /** \brief Remove the given worker from the list of workers. */ -<span class="lineNum"> 178 </span> : void Remove(Worker *Work); -<span class="lineNum"> 179 </span> : -<span class="lineNum"> 180 </span> : /** \brief Insert the given fetch request into the appropriate queue. -<span class="lineNum"> 181 </span> : * -<span class="lineNum"> 182 </span> : * \param Item The URI to download and the item to download it -<span class="lineNum"> 183 </span> : * for. Copied by value into the queue; no reference to Item is -<span class="lineNum"> 184 </span> : * retained. -<span class="lineNum"> 185 </span> : */ -<span class="lineNum"> 186 </span> : void Enqueue(ItemDesc &Item); -<span class="lineNum"> 187 </span> : -<span class="lineNum"> 188 </span> : /** \brief Remove all fetch requests for this item from all queues. */ -<span class="lineNum"> 189 </span> : void Dequeue(Item *Item); -<span class="lineNum"> 190 </span> : -<span class="lineNum"> 191 </span> : /** \brief Determine the fetch method and queue of a URI. -<span class="lineNum"> 192 </span> : * -<span class="lineNum"> 193 </span> : * \param URI The URI to fetch. -<span class="lineNum"> 194 </span> : * -<span class="lineNum"> 195 </span> : * \param[out] Config A location in which to place the method via -<span class="lineNum"> 196 </span> : * which the URI is to be fetched. -<span class="lineNum"> 197 </span> : * -<span class="lineNum"> 198 </span> : * \return the string-name of the queue in which a fetch request -<span class="lineNum"> 199 </span> : * for the given URI should be placed. -<span class="lineNum"> 200 </span> : */ -<span class="lineNum"> 201 </span> : string QueueName(string URI,MethodConfig const *&Config); -<span class="lineNum"> 202 </span> : -<span class="lineNum"> 203 </span> : /** \brief Build up the set of file descriptors upon which select() should -<span class="lineNum"> 204 </span> : * block. -<span class="lineNum"> 205 </span> : * -<span class="lineNum"> 206 </span> : * The default implementation inserts the file descriptors -<span class="lineNum"> 207 </span> : * corresponding to active downloads. -<span class="lineNum"> 208 </span> : * -<span class="lineNum"> 209 </span> : * \param[out] Fd The largest file descriptor in the generated sets. -<span class="lineNum"> 210 </span> : * -<span class="lineNum"> 211 </span> : * \param[out] RSet The set of file descriptors that should be -<span class="lineNum"> 212 </span> : * watched for input. -<span class="lineNum"> 213 </span> : * -<span class="lineNum"> 214 </span> : * \param[out] WSet The set of file descriptors that should be -<span class="lineNum"> 215 </span> : * watched for output. -<span class="lineNum"> 216 </span> : */ -<span class="lineNum"> 217 </span> : virtual void SetFds(int &Fd,fd_set *RSet,fd_set *WSet); -<span class="lineNum"> 218 </span> : -<span class="lineNum"> 219 </span> : /** Handle input from and output to file descriptors which select() -<span class="lineNum"> 220 </span> : * has determined are ready. The default implementation -<span class="lineNum"> 221 </span> : * dispatches to all active downloads. -<span class="lineNum"> 222 </span> : * -<span class="lineNum"> 223 </span> : * \param RSet The set of file descriptors that are ready for -<span class="lineNum"> 224 </span> : * input. -<span class="lineNum"> 225 </span> : * -<span class="lineNum"> 226 </span> : * \param WSet The set of file descriptors that are ready for -<span class="lineNum"> 227 </span> : * output. -<span class="lineNum"> 228 </span> : */ -<span class="lineNum"> 229 </span> : virtual void RunFds(fd_set *RSet,fd_set *WSet); -<span class="lineNum"> 230 </span> : -<span class="lineNum"> 231 </span> : /** \brief Check for idle queues with ready-to-fetch items. -<span class="lineNum"> 232 </span> : * -<span class="lineNum"> 233 </span> : * Called by pkgAcquire::Queue::Done each time an item is dequeued -<span class="lineNum"> 234 </span> : * but remains on some queues; i.e., another queue should start -<span class="lineNum"> 235 </span> : * fetching it. -<span class="lineNum"> 236 </span> : */ -<span class="lineNum"> 237 </span> : void Bump(); -<span class="lineNum"> 238 </span> : -<span class="lineNum"> 239 </span> : public: -<span class="lineNum"> 240 </span> : -<span class="lineNum"> 241 </span> : /** \brief Retrieve information about a fetch method by name. -<span class="lineNum"> 242 </span> : * -<span class="lineNum"> 243 </span> : * \param Access The name of the method to look up. -<span class="lineNum"> 244 </span> : * -<span class="lineNum"> 245 </span> : * \return the method whose name is Access, or \b NULL if no such method exists. -<span class="lineNum"> 246 </span> : */ -<span class="lineNum"> 247 </span> : MethodConfig *GetConfig(string Access); -<span class="lineNum"> 248 </span> : -<span class="lineNum"> 249 </span> : /** \brief Provides information on how a download terminated. */ -<span class="lineNum"> 250 </span> : enum RunResult { -<span class="lineNum"> 251 </span> : /** \brief All files were fetched successfully. */ -<span class="lineNum"> 252 </span> : Continue, -<span class="lineNum"> 253 </span> : -<span class="lineNum"> 254 </span> : /** \brief Some files failed to download. */ -<span class="lineNum"> 255 </span> : Failed, -<span class="lineNum"> 256 </span> : -<span class="lineNum"> 257 </span> : /** \brief The download was cancelled by the user (i.e., #Log's -<span class="lineNum"> 258 </span> : * pkgAcquireStatus::Pulse() method returned \b false). -<span class="lineNum"> 259 </span> : */ -<span class="lineNum"> 260 </span> : Cancelled}; -<span class="lineNum"> 261 </span> : -<span class="lineNum"> 262 </span> : /** \brief Download all the items that have been Add()ed to this -<span class="lineNum"> 263 </span> : * download process. -<span class="lineNum"> 264 </span> : * -<span class="lineNum"> 265 </span> : * This method will block until the download completes, invoking -<span class="lineNum"> 266 </span> : * methods on #Log to report on the progress of the download. -<span class="lineNum"> 267 </span> : * -<span class="lineNum"> 268 </span> : * \param PulseInterval The method pkgAcquireStatus::Pulse will be -<span class="lineNum"> 269 </span> : * invoked on #Log at intervals of PulseInterval milliseconds. -<span class="lineNum"> 270 </span> : * -<span class="lineNum"> 271 </span> : * \return the result of the download. -<span class="lineNum"> 272 </span> : */ -<span class="lineNum"> 273 </span> : RunResult Run(int PulseInterval=500000); -<span class="lineNum"> 274 </span> : -<span class="lineNum"> 275 </span> : /** \brief Remove all items from this download process, terminate -<span class="lineNum"> 276 </span> : * all download workers, and empty all queues. -<span class="lineNum"> 277 </span> : */ -<span class="lineNum"> 278 </span> : void Shutdown(); -<span class="lineNum"> 279 </span> : -<span class="lineNum"> 280 </span> : /** \brief Get the first #Worker object. -<span class="lineNum"> 281 </span> : * -<span class="lineNum"> 282 </span> : * \return the first active worker in this download process. -<span class="lineNum"> 283 </span> : */ -<span class="lineNum"> 284 </span> : inline Worker *WorkersBegin() {return Workers;}; -<span class="lineNum"> 285 </span> : -<span class="lineNum"> 286 </span> : /** \brief Advance to the next #Worker object. -<span class="lineNum"> 287 </span> : * -<span class="lineNum"> 288 </span> : * \return the worker immediately following I, or \b NULL if none -<span class="lineNum"> 289 </span> : * exists. -<span class="lineNum"> 290 </span> : */ -<span class="lineNum"> 291 </span> : Worker *WorkerStep(Worker *I); -<span class="lineNum"> 292 </span> : -<span class="lineNum"> 293 </span> : /** \brief Get the head of the list of items. */ -<span class="lineNum"> 294 </span> : inline ItemIterator ItemsBegin() {return Items.begin();}; -<span class="lineNum"> 295 </span> : -<span class="lineNum"> 296 </span> : /** \brief Get the end iterator of the list of items. */ -<span class="lineNum"> 297 </span> : inline ItemIterator ItemsEnd() {return Items.end();}; -<span class="lineNum"> 298 </span> : -<span class="lineNum"> 299 </span> : // Iterate over queued Item URIs -<span class="lineNum"> 300 </span> : class UriIterator; -<span class="lineNum"> 301 </span> : /** \brief Get the head of the list of enqueued item URIs. -<span class="lineNum"> 302 </span> : * -<span class="lineNum"> 303 </span> : * This iterator will step over every element of every active -<span class="lineNum"> 304 </span> : * queue. -<span class="lineNum"> 305 </span> : */ -<span class="lineNum"> 306 </span> : UriIterator UriBegin(); -<span class="lineNum"> 307 </span> : /** \brief Get the end iterator of the list of enqueued item URIs. */ -<span class="lineNum"> 308 </span> : UriIterator UriEnd(); -<span class="lineNum"> 309 </span> : -<span class="lineNum"> 310 </span> : /** Deletes each entry in the given directory that is not being -<span class="lineNum"> 311 </span> : * downloaded by this object. For instance, when downloading new -<span class="lineNum"> 312 </span> : * list files, calling Clean() will delete the old ones. -<span class="lineNum"> 313 </span> : * -<span class="lineNum"> 314 </span> : * \param Dir The directory to be cleaned out. -<span class="lineNum"> 315 </span> : * -<span class="lineNum"> 316 </span> : * \return \b true if the directory exists and is readable. -<span class="lineNum"> 317 </span> : */ -<span class="lineNum"> 318 </span> : bool Clean(string Dir); -<span class="lineNum"> 319 </span> : -<span class="lineNum"> 320 </span> : /** \return the total size in bytes of all the items included in -<span class="lineNum"> 321 </span> : * this download. -<span class="lineNum"> 322 </span> : */ -<span class="lineNum"> 323 </span> : double TotalNeeded(); -<span class="lineNum"> 324 </span> : -<span class="lineNum"> 325 </span> : /** \return the size in bytes of all non-local items included in -<span class="lineNum"> 326 </span> : * this download. -<span class="lineNum"> 327 </span> : */ -<span class="lineNum"> 328 </span> : double FetchNeeded(); -<span class="lineNum"> 329 </span> : -<span class="lineNum"> 330 </span> : /** \return the amount of data to be fetched that is already -<span class="lineNum"> 331 </span> : * present on the filesystem. -<span class="lineNum"> 332 </span> : */ -<span class="lineNum"> 333 </span> : double PartialPresent(); -<span class="lineNum"> 334 </span> : -<span class="lineNum"> 335 </span> : /** \brief Construct a new pkgAcquire. -<span class="lineNum"> 336 </span> : * -<span class="lineNum"> 337 </span> : * \param Log The progress indicator associated with this -<span class="lineNum"> 338 </span> : * download, or \b NULL for none. This object is not owned by the -<span class="lineNum"> 339 </span> : * download process and will not be deleted when the pkgAcquire -<span class="lineNum"> 340 </span> : * object is destroyed. Naturally, it should live for at least as -<span class="lineNum"> 341 </span> : * long as the pkgAcquire object does. -<span class="lineNum"> 342 </span> : */ -<span class="lineNum"> 343 </span> : pkgAcquire(pkgAcquireStatus *Log = 0); -<span class="lineNum"> 344 </span> : -<span class="lineNum"> 345 </span> : /** \brief Destroy this pkgAcquire object. -<span class="lineNum"> 346 </span> : * -<span class="lineNum"> 347 </span> : * Destroys all queue, method, and item objects associated with -<span class="lineNum"> 348 </span> : * this download. -<span class="lineNum"> 349 </span> : */ -<span class="lineNum"> 350 </span> : virtual ~pkgAcquire(); -<span class="lineNum"> 351 </span> : }; -<span class="lineNum"> 352 </span> : -<span class="lineNum"> 353 </span> : /** \brief Represents a single download source from which an item -<span class="lineNum"> 354 </span> : * should be downloaded. -<span class="lineNum"> 355 </span> : * -<span class="lineNum"> 356 </span> : * An item may have several assocated ItemDescs over its lifetime. -<span class="lineNum"> 357 </span> : */ -<span class="lineNum"> 358 </span> : struct pkgAcquire::ItemDesc -<span class="lineNum"> 359 </span> : { -<span class="lineNum"> 360 </span> : /** \brief The URI from which to download this item. */ -<span class="lineNum"> 361 </span> : string URI; -<span class="lineNum"> 362 </span> : /** brief A description of this item. */ -<span class="lineNum"> 363 </span> : string Description; -<span class="lineNum"> 364 </span> : /** brief A shorter description of this item. */ -<span class="lineNum"> 365 </span> : string ShortDesc; -<span class="lineNum"> 366 </span> : /** brief The underlying item which is to be downloaded. */ -<span class="lineNum"> 367 </span> : Item *Owner; -<span class="lineNum"> 368 </span> : }; -<span class="lineNum"> 369 </span> : -<span class="lineNum"> 370 </span> : /** \brief A single download queue in a pkgAcquire object. -<span class="lineNum"> 371 </span> : * -<span class="lineNum"> 372 </span> : * \todo Why so many protected values? -<span class="lineNum"> 373 </span> : */ -<span class="lineNum"> 374 </span> : class pkgAcquire::Queue -<span class="lineNum"> 375 </span> : { -<span class="lineNum"> 376 </span> : friend class pkgAcquire; -<span class="lineNum"> 377 </span> : friend class pkgAcquire::UriIterator; -<span class="lineNum"> 378 </span> : friend class pkgAcquire::Worker; -<span class="lineNum"> 379 </span> : -<span class="lineNum"> 380 </span> : /** \brief The next queue in the pkgAcquire object's list of queues. */ -<span class="lineNum"> 381 </span> : Queue *Next; -<span class="lineNum"> 382 </span> : -<span class="lineNum"> 383 </span> : protected: -<span class="lineNum"> 384 </span> : -<span class="lineNum"> 385 </span> : /** \brief A single item placed in this queue. */ -<span class="lineNum"> 386 </span> : struct QItem : pkgAcquire::ItemDesc -<span class="lineNum"> 387 </span> : { -<span class="lineNum"> 388 </span> : /** \brief The next item in the queue. */ -<span class="lineNum"> 389 </span> : QItem *Next; -<span class="lineNum"> 390 </span> : /** \brief The worker associated with this item, if any. */ -<span class="lineNum"> 391 </span> : pkgAcquire::Worker *Worker; -<span class="lineNum"> 392 </span> : -<span class="lineNum"> 393 </span> : /** \brief Assign the ItemDesc portion of this QItem from -<span class="lineNum"> 394 </span> : * another ItemDesc -<span class="lineNum"> 395 </span> : */ -<span class="lineNum"> 396 </span> : void operator =(pkgAcquire::ItemDesc const &I) -<span class="lineNum"> 397 </span> : { -<span class="lineNum"> 398 </span> : URI = I.URI; -<span class="lineNum"> 399 </span> : Description = I.Description; -<span class="lineNum"> 400 </span> : ShortDesc = I.ShortDesc; -<span class="lineNum"> 401 </span> : Owner = I.Owner; -<span class="lineNum"> 402 </span> : }; -<span class="lineNum"> 403 </span> : }; -<span class="lineNum"> 404 </span> : -<span class="lineNum"> 405 </span> : /** \brief The name of this queue. */ -<span class="lineNum"> 406 </span> : string Name; -<span class="lineNum"> 407 </span> : -<span class="lineNum"> 408 </span> : /** \brief The head of the list of items contained in this queue. -<span class="lineNum"> 409 </span> : * -<span class="lineNum"> 410 </span> : * \todo why a by-hand list instead of an STL structure? -<span class="lineNum"> 411 </span> : */ -<span class="lineNum"> 412 </span> : QItem *Items; -<span class="lineNum"> 413 </span> : -<span class="lineNum"> 414 </span> : /** \brief The head of the list of workers associated with this queue. -<span class="lineNum"> 415 </span> : * -<span class="lineNum"> 416 </span> : * \todo This is plural because support exists in Queue for -<span class="lineNum"> 417 </span> : * multiple workers. However, it does not appear that there is -<span class="lineNum"> 418 </span> : * any way to actually associate more than one worker with a -<span class="lineNum"> 419 </span> : * queue. -<span class="lineNum"> 420 </span> : * -<span class="lineNum"> 421 </span> : * \todo Why not just use a std::set? -<span class="lineNum"> 422 </span> : */ -<span class="lineNum"> 423 </span> : pkgAcquire::Worker *Workers; -<span class="lineNum"> 424 </span> : -<span class="lineNum"> 425 </span> : /** \brief the download scheduler with which this queue is associated. */ -<span class="lineNum"> 426 </span> : pkgAcquire *Owner; -<span class="lineNum"> 427 </span> : -<span class="lineNum"> 428 </span> : /** \brief The number of entries in this queue that are currently -<span class="lineNum"> 429 </span> : * being downloaded. -<span class="lineNum"> 430 </span> : */ -<span class="lineNum"> 431 </span> : signed long PipeDepth; -<span class="lineNum"> 432 </span> : -<span class="lineNum"> 433 </span> : /** \brief The maximum number of entries that this queue will -<span class="lineNum"> 434 </span> : * attempt to download at once. -<span class="lineNum"> 435 </span> : */ -<span class="lineNum"> 436 </span> : unsigned long MaxPipeDepth; -<span class="lineNum"> 437 </span> : -<span class="lineNum"> 438 </span> : public: -<span class="lineNum"> 439 </span> : -<span class="lineNum"> 440 </span> : /** \brief Insert the given fetch request into this queue. -<span class="lineNum"> 441 </span> : * -<span class="lineNum"> 442 </span> : * \return \b true if the queuing was successful. May return -<span class="lineNum"> 443 </span> : * \b false if the Item is already in the queue -<span class="lineNum"> 444 </span> : */ -<span class="lineNum"> 445 </span> : bool Enqueue(ItemDesc &Item); -<span class="lineNum"> 446 </span> : -<span class="lineNum"> 447 </span> : /** \brief Remove all fetch requests for the given item from this queue. -<span class="lineNum"> 448 </span> : * -<span class="lineNum"> 449 </span> : * \return \b true if at least one request was removed from the queue. -<span class="lineNum"> 450 </span> : */ -<span class="lineNum"> 451 </span> : bool Dequeue(Item *Owner); -<span class="lineNum"> 452 </span> : -<span class="lineNum"> 453 </span> : /** \brief Locate an item in this queue. -<span class="lineNum"> 454 </span> : * -<span class="lineNum"> 455 </span> : * \param URI A URI to match against. -<span class="lineNum"> 456 </span> : * \param Owner A pkgAcquire::Worker to match against. -<span class="lineNum"> 457 </span> : * -<span class="lineNum"> 458 </span> : * \return the first item in the queue whose URI is #URI and that -<span class="lineNum"> 459 </span> : * is being downloaded by #Owner. -<span class="lineNum"> 460 </span> : */ -<span class="lineNum"> 461 </span> : QItem *FindItem(string URI,pkgAcquire::Worker *Owner); -<span class="lineNum"> 462 </span> : -<span class="lineNum"> 463 </span> : /** Presumably this should start downloading an item? -<span class="lineNum"> 464 </span> : * -<span class="lineNum"> 465 </span> : * \todo Unimplemented. Implement it or remove? -<span class="lineNum"> 466 </span> : */ -<span class="lineNum"> 467 </span> : bool ItemStart(QItem *Itm,unsigned long Size); -<span class="lineNum"> 468 </span> : -<span class="lineNum"> 469 </span> : /** \brief Remove the given item from this queue and set its state -<span class="lineNum"> 470 </span> : * to pkgAcquire::Item::StatDone. -<span class="lineNum"> 471 </span> : * -<span class="lineNum"> 472 </span> : * If this is the only queue containing the item, the item is also -<span class="lineNum"> 473 </span> : * removed from the main queue by calling pkgAcquire::Dequeue. -<span class="lineNum"> 474 </span> : * -<span class="lineNum"> 475 </span> : * \param Itm The item to remove. -<span class="lineNum"> 476 </span> : * -<span class="lineNum"> 477 </span> : * \return \b true if no errors are encountered. -<span class="lineNum"> 478 </span> : */ -<span class="lineNum"> 479 </span> : bool ItemDone(QItem *Itm); -<span class="lineNum"> 480 </span> : -<span class="lineNum"> 481 </span> : /** \brief Start the worker process associated with this queue. -<span class="lineNum"> 482 </span> : * -<span class="lineNum"> 483 </span> : * If a worker process is already associated with this queue, -<span class="lineNum"> 484 </span> : * this is equivalent to calling Cycle(). -<span class="lineNum"> 485 </span> : * -<span class="lineNum"> 486 </span> : * \return \b true if the startup was successful. -<span class="lineNum"> 487 </span> : */ -<span class="lineNum"> 488 </span> : bool Startup(); -<span class="lineNum"> 489 </span> : -<span class="lineNum"> 490 </span> : /** \brief Shut down the worker process associated with this queue. -<span class="lineNum"> 491 </span> : * -<span class="lineNum"> 492 </span> : * \param Final If \b true, then the process is stopped unconditionally. -<span class="lineNum"> 493 </span> : * Otherwise, it is only stopped if it does not need cleanup -<span class="lineNum"> 494 </span> : * as indicated by the pkgAcqMethod::NeedsCleanup member of -<span class="lineNum"> 495 </span> : * its configuration. -<span class="lineNum"> 496 </span> : * -<span class="lineNum"> 497 </span> : * \return \b true. -<span class="lineNum"> 498 </span> : */ -<span class="lineNum"> 499 </span> : bool Shutdown(bool Final); -<span class="lineNum"> 500 </span> : -<span class="lineNum"> 501 </span> : /** \brief Send idle items to the worker process. -<span class="lineNum"> 502 </span> : * -<span class="lineNum"> 503 </span> : * Fills up the pipeline by inserting idle items into the worker's queue. -<span class="lineNum"> 504 </span> : */ -<span class="lineNum"> 505 </span> : bool Cycle(); -<span class="lineNum"> 506 </span> : -<span class="lineNum"> 507 </span> : /** \brief Check for items that could be enqueued. -<span class="lineNum"> 508 </span> : * -<span class="lineNum"> 509 </span> : * Call this after an item placed in multiple queues has gone from -<span class="lineNum"> 510 </span> : * the pkgAcquire::Item::StatFetching state to the -<span class="lineNum"> 511 </span> : * pkgAcquire::Item::StatIdle state, to possibly refill an empty queue. -<span class="lineNum"> 512 </span> : * This is an alias for Cycle(). -<span class="lineNum"> 513 </span> : * -<span class="lineNum"> 514 </span> : * \todo Why both this and Cycle()? Are they expected to be -<span class="lineNum"> 515 </span> : * different someday? -<span class="lineNum"> 516 </span> : */ -<span class="lineNum"> 517 </span> : void Bump(); -<span class="lineNum"> 518 </span> : -<span class="lineNum"> 519 </span> : /** \brief Create a new Queue. -<span class="lineNum"> 520 </span> : * -<span class="lineNum"> 521 </span> : * \param Name The name of the new queue. -<span class="lineNum"> 522 </span> : * \param Owner The download process that owns the new queue. -<span class="lineNum"> 523 </span> : */ -<span class="lineNum"> 524 </span> : Queue(string Name,pkgAcquire *Owner); -<span class="lineNum"> 525 </span> : -<span class="lineNum"> 526 </span> : /** Shut down all the worker processes associated with this queue -<span class="lineNum"> 527 </span> : * and empty the queue. -<span class="lineNum"> 528 </span> : */ -<span class="lineNum"> 529 </span> : ~Queue(); -<span class="lineNum"> 530 </span> : }; -<span class="lineNum"> 531 </span> : -<span class="lineNum"> 532 </span> : /** \brief Iterates over all the URIs being fetched by a pkgAcquire object. */ -<span class="lineNum"> 533 </span> : class pkgAcquire::UriIterator -<span class="lineNum"> 534 </span> : { -<span class="lineNum"> 535 </span> : /** The next queue to iterate over. */ -<span class="lineNum"> 536 </span> : pkgAcquire::Queue *CurQ; -<span class="lineNum"> 537 </span> : /** The item that we currently point at. */ -<span class="lineNum"> 538 </span> : pkgAcquire::Queue::QItem *CurItem; -<span class="lineNum"> 539 </span> : -<span class="lineNum"> 540 </span> : public: -<span class="lineNum"> 541 </span> : -<span class="lineNum"> 542 </span> : inline void operator ++() {operator ++();}; -<span class="lineNum"> 543 </span> : -<span class="lineNum"> 544 </span> : void operator ++(int) -<span class="lineNum"> 545 </span> : { -<span class="lineNum"> 546 </span> : CurItem = CurItem->Next; -<span class="lineNum"> 547 </span> : while (CurItem == 0 && CurQ != 0) -<span class="lineNum"> 548 </span> : { -<span class="lineNum"> 549 </span> : CurItem = CurQ->Items; -<span class="lineNum"> 550 </span> : CurQ = CurQ->Next; -<span class="lineNum"> 551 </span> : } -<span class="lineNum"> 552 </span> : }; -<span class="lineNum"> 553 </span> : -<span class="lineNum"> 554 </span> : inline pkgAcquire::ItemDesc const *operator ->() const {return CurItem;}; -<span class="lineNum"> 555 </span> : inline bool operator !=(UriIterator const &rhs) const {return rhs.CurQ != CurQ || rhs.CurItem != CurItem;}; -<span class="lineNum"> 556 </span> : inline bool operator ==(UriIterator const &rhs) const {return rhs.CurQ == CurQ && rhs.CurItem == CurItem;}; -<span class="lineNum"> 557 </span> : -<span class="lineNum"> 558 </span> : /** \brief Create a new UriIterator. -<span class="lineNum"> 559 </span> : * -<span class="lineNum"> 560 </span> : * \param Q The queue over which this UriIterator should iterate. -<span class="lineNum"> 561 </span> : */ -<span class="lineNum"> 562 </span> : UriIterator(pkgAcquire::Queue *Q) : CurQ(Q), CurItem(0) -<span class="lineNum"> 563 </span> : { -<span class="lineNum"> 564 </span> : while (CurItem == 0 && CurQ != 0) -<span class="lineNum"> 565 </span> : { -<span class="lineNum"> 566 </span> : CurItem = CurQ->Items; -<span class="lineNum"> 567 </span> : CurQ = CurQ->Next; -<span class="lineNum"> 568 </span> : } -<span class="lineNum"> 569 </span> : } -<span class="lineNum"> 570 </span> : }; -<span class="lineNum"> 571 </span> : -<span class="lineNum"> 572 </span> : /** \brief Information about the properties of a single acquire method. */ -<span class="lineNum"> 573 </span> : struct pkgAcquire::MethodConfig -<span class="lineNum"> 574 </span> : { -<span class="lineNum"> 575 </span> : /** \brief The next link on the acquire method list. -<span class="lineNum"> 576 </span> : * -<span class="lineNum"> 577 </span> : * \todo Why not an STL container? -<span class="lineNum"> 578 </span> : */ -<span class="lineNum"> 579 </span> : MethodConfig *Next; -<span class="lineNum"> 580 </span> : -<span class="lineNum"> 581 </span> : /** \brief The name of this acquire method (e.g., http). */ -<span class="lineNum"> 582 </span> : string Access; -<span class="lineNum"> 583 </span> : -<span class="lineNum"> 584 </span> : /** \brief The implementation version of this acquire method. */ -<span class="lineNum"> 585 </span> : string Version; -<span class="lineNum"> 586 </span> : -<span class="lineNum"> 587 </span> : /** \brief If \b true, only one download queue should be created for this -<span class="lineNum"> 588 </span> : * method. -<span class="lineNum"> 589 </span> : */ -<span class="lineNum"> 590 </span> : bool SingleInstance; -<span class="lineNum"> 591 </span> : -<span class="lineNum"> 592 </span> : /** \brief If \b true, this method supports pipelined downloading. */ -<span class="lineNum"> 593 </span> : bool Pipeline; -<span class="lineNum"> 594 </span> : -<span class="lineNum"> 595 </span> : /** \brief If \b true, the worker process should send the entire -<span class="lineNum"> 596 </span> : * APT configuration tree to the fetch subprocess when it starts -<span class="lineNum"> 597 </span> : * up. -<span class="lineNum"> 598 </span> : */ -<span class="lineNum"> 599 </span> : bool SendConfig; -<span class="lineNum"> 600 </span> : -<span class="lineNum"> 601 </span> : /** \brief If \b true, this fetch method does not require network access; -<span class="lineNum"> 602 </span> : * all files are to be acquired from the local disk. -<span class="lineNum"> 603 </span> : */ -<span class="lineNum"> 604 </span> : bool LocalOnly; -<span class="lineNum"> 605 </span> : -<span class="lineNum"> 606 </span> : /** \brief If \b true, the subprocess has to carry out some cleanup -<span class="lineNum"> 607 </span> : * actions before shutting down. -<span class="lineNum"> 608 </span> : * -<span class="lineNum"> 609 </span> : * For instance, the cdrom method needs to unmount the CD after it -<span class="lineNum"> 610 </span> : * finishes. -<span class="lineNum"> 611 </span> : */ -<span class="lineNum"> 612 </span> : bool NeedsCleanup; -<span class="lineNum"> 613 </span> : -<span class="lineNum"> 614 </span> : /** \brief If \b true, this fetch method acquires files from removable media. */ -<span class="lineNum"> 615 </span> : bool Removable; -<span class="lineNum"> 616 </span> : -<span class="lineNum"> 617 </span> : /** \brief Set up the default method parameters. -<span class="lineNum"> 618 </span> : * -<span class="lineNum"> 619 </span> : * All fields are initialized to NULL, "", or \b false as -<span class="lineNum"> 620 </span> : * appropriate. -<span class="lineNum"> 621 </span> : */ -<span class="lineNum"> 622 </span> : MethodConfig(); -<span class="lineNum"> 623 </span> : }; -<span class="lineNum"> 624 </span> : -<span class="lineNum"> 625 </span> : /** \brief A monitor object for downloads controlled by the pkgAcquire class. -<span class="lineNum"> 626 </span> : * -<span class="lineNum"> 627 </span> : * \todo Why protected members? -<span class="lineNum"> 628 </span> : * -<span class="lineNum"> 629 </span> : * \todo Should the double members be uint64_t? -<span class="lineNum"> 630 </span> : */ -<span class="lineNum"> 631 </span> : class pkgAcquireStatus -<span class="lineNum"> 632 </span> : { -<span class="lineNum"> 633 </span> : protected: -<span class="lineNum"> 634 </span> : -<span class="lineNum"> 635 </span> : /** \brief The last time at which this monitor object was updated. */ -<span class="lineNum"> 636 </span> : struct timeval Time; -<span class="lineNum"> 637 </span> : -<span class="lineNum"> 638 </span> : /** \brief The time at which the download started. */ -<span class="lineNum"> 639 </span> : struct timeval StartTime; -<span class="lineNum"> 640 </span> : -<span class="lineNum"> 641 </span> : /** \brief The number of bytes fetched as of the previous call to -<span class="lineNum"> 642 </span> : * pkgAcquireStatus::Pulse, including local items. -<span class="lineNum"> 643 </span> : */ -<span class="lineNum"> 644 </span> : double LastBytes; -<span class="lineNum"> 645 </span> : -<span class="lineNum"> 646 </span> : /** \brief The current rate of download as of the most recent call -<span class="lineNum"> 647 </span> : * to pkgAcquireStatus::Pulse, in bytes per second. -<span class="lineNum"> 648 </span> : */ -<span class="lineNum"> 649 </span> : double CurrentCPS; -<span class="lineNum"> 650 </span> : -<span class="lineNum"> 651 </span> : /** \brief The number of bytes fetched as of the most recent call -<span class="lineNum"> 652 </span> : * to pkgAcquireStatus::Pulse, including local items. -<span class="lineNum"> 653 </span> : */ -<span class="lineNum"> 654 </span> : double CurrentBytes; -<span class="lineNum"> 655 </span> : -<span class="lineNum"> 656 </span> : /** \brief The total number of bytes that need to be fetched. -<span class="lineNum"> 657 </span> : * -<span class="lineNum"> 658 </span> : * \warning This member is inaccurate, as new items might be -<span class="lineNum"> 659 </span> : * enqueued while the download is in progress! -<span class="lineNum"> 660 </span> : */ -<span class="lineNum"> 661 </span> : double TotalBytes; -<span class="lineNum"> 662 </span> : -<span class="lineNum"> 663 </span> : /** \brief The total number of bytes accounted for by items that -<span class="lineNum"> 664 </span> : * were successfully fetched. -<span class="lineNum"> 665 </span> : */ -<span class="lineNum"> 666 </span> : double FetchedBytes; -<span class="lineNum"> 667 </span> : -<span class="lineNum"> 668 </span> : /** \brief The amount of time that has elapsed since the download -<span class="lineNum"> 669 </span> : * started. -<span class="lineNum"> 670 </span> : */ -<span class="lineNum"> 671 </span> : unsigned long ElapsedTime; -<span class="lineNum"> 672 </span> : -<span class="lineNum"> 673 </span> : /** \brief The total number of items that need to be fetched. -<span class="lineNum"> 674 </span> : * -<span class="lineNum"> 675 </span> : * \warning This member is inaccurate, as new items might be -<span class="lineNum"> 676 </span> : * enqueued while the download is in progress! -<span class="lineNum"> 677 </span> : */ -<span class="lineNum"> 678 </span> : unsigned long TotalItems; -<span class="lineNum"> 679 </span> : -<span class="lineNum"> 680 </span> : /** \brief The number of items that have been successfully downloaded. */ -<span class="lineNum"> 681 </span> : unsigned long CurrentItems; -<span class="lineNum"> 682 </span> : -<span class="lineNum"> 683 </span> : public: -<span class="lineNum"> 684 </span> : -<span class="lineNum"> 685 </span> : /** \brief If \b true, the download scheduler should call Pulse() -<span class="lineNum"> 686 </span> : * at the next available opportunity. -<span class="lineNum"> 687 </span> : */ -<span class="lineNum"> 688 </span> : bool Update; -<span class="lineNum"> 689 </span> : -<span class="lineNum"> 690 </span> : /** \brief If \b true, extra Pulse() invocations will be performed. -<span class="lineNum"> 691 </span> : * -<span class="lineNum"> 692 </span> : * With this option set, Pulse() will be called every time that a -<span class="lineNum"> 693 </span> : * download item starts downloading, finishes downloading, or -<span class="lineNum"> 694 </span> : * terminates with an error. -<span class="lineNum"> 695 </span> : */ -<span class="lineNum"> 696 </span> : bool MorePulses; -<span class="lineNum"> 697 </span> : -<span class="lineNum"> 698 </span> : /** \brief Invoked when a local or remote file has been completely fetched. -<span class="lineNum"> 699 </span> : * -<span class="lineNum"> 700 </span> : * \param Size The size of the file fetched. -<span class="lineNum"> 701 </span> : * -<span class="lineNum"> 702 </span> : * \param ResumePoint How much of the file was already fetched. -<span class="lineNum"> 703 </span> : */ -<span class="lineNum"> 704 </span> : virtual void Fetched(unsigned long Size,unsigned long ResumePoint); -<span class="lineNum"> 705 </span> : -<span class="lineNum"> 706 </span> : /** \brief Invoked when the user should be prompted to change the -<span class="lineNum"> 707 </span> : * inserted removable media. -<span class="lineNum"> 708 </span> : * -<span class="lineNum"> 709 </span> : * This method should not return until the user has confirmed to -<span class="lineNum"> 710 </span> : * the user interface that the media change is complete. -<span class="lineNum"> 711 </span> : * -<span class="lineNum"> 712 </span> : * \param Media The name of the media type that should be changed. -<span class="lineNum"> 713 </span> : * -<span class="lineNum"> 714 </span> : * \param Drive The identifying name of the drive whose media -<span class="lineNum"> 715 </span> : * should be changed. -<span class="lineNum"> 716 </span> : * -<span class="lineNum"> 717 </span> : * \return \b true if the user confirms the media change, \b -<span class="lineNum"> 718 </span> : * false if it is cancelled. -<span class="lineNum"> 719 </span> : * -<span class="lineNum"> 720 </span> : * \todo This is a horrible blocking monster; it should be CPSed -<span class="lineNum"> 721 </span> : * with prejudice. -<span class="lineNum"> 722 </span> : */ -<span class="lineNum"> 723 </span> : virtual bool MediaChange(string Media,string Drive) = 0; -<span class="lineNum"> 724 </span> : -<span class="lineNum"> 725 </span> : /** \brief Invoked when an item is confirmed to be up-to-date. -<span class="lineNum"> 726 </span> : -<span class="lineNum"> 727 </span> : * For instance, when an HTTP download is informed that the file on -<span class="lineNum"> 728 </span> : * the server was not modified. -<span class="lineNum"> 729 </span> : */ -<span class="lineNum"> 730 </span><span class="lineNoCov"> 0 : virtual void IMSHit(pkgAcquire::ItemDesc &/*Itm*/) {};</span> -<span class="lineNum"> 731 </span> : -<span class="lineNum"> 732 </span> : /** \brief Invoked when some of an item's data is fetched. */ -<span class="lineNum"> 733 </span><span class="lineNoCov"> 0 : virtual void Fetch(pkgAcquire::ItemDesc &/*Itm*/) {};</span> -<span class="lineNum"> 734 </span> : -<span class="lineNum"> 735 </span> : /** \brief Invoked when an item is successfully and completely fetched. */ -<span class="lineNum"> 736 </span><span class="lineNoCov"> 0 : virtual void Done(pkgAcquire::ItemDesc &/*Itm*/) {};</span> -<span class="lineNum"> 737 </span> : -<span class="lineNum"> 738 </span> : /** \brief Invoked when the process of fetching an item encounters -<span class="lineNum"> 739 </span> : * a fatal error. -<span class="lineNum"> 740 </span> : */ -<span class="lineNum"> 741 </span><span class="lineNoCov"> 0 : virtual void Fail(pkgAcquire::ItemDesc &/*Itm*/) {};</span> -<span class="lineNum"> 742 </span> : -<span class="lineNum"> 743 </span> : /** \brief Periodically invoked while the Acquire process is underway. -<span class="lineNum"> 744 </span> : * -<span class="lineNum"> 745 </span> : * Subclasses should first call pkgAcquireStatus::Pulse(), then -<span class="lineNum"> 746 </span> : * update their status output. The download process is blocked -<span class="lineNum"> 747 </span> : * while Pulse() is being called. -<span class="lineNum"> 748 </span> : * -<span class="lineNum"> 749 </span> : * \return \b false if the user asked to cancel the whole Acquire process. -<span class="lineNum"> 750 </span> : * -<span class="lineNum"> 751 </span> : * \see pkgAcquire::Run -<span class="lineNum"> 752 </span> : */ -<span class="lineNum"> 753 </span> : virtual bool Pulse(pkgAcquire *Owner); -<span class="lineNum"> 754 </span> : -<span class="lineNum"> 755 </span> : /** \brief Invoked when the Acquire process starts running. */ -<span class="lineNum"> 756 </span> : virtual void Start(); -<span class="lineNum"> 757 </span> : -<span class="lineNum"> 758 </span> : /** \brief Invoked when the Acquire process stops running. */ -<span class="lineNum"> 759 </span> : virtual void Stop(); -<span class="lineNum"> 760 </span> : -<span class="lineNum"> 761 </span> : /** \brief Initialize all counters to 0 and the time to the current time. */ -<span class="lineNum"> 762 </span> : pkgAcquireStatus(); -<span class="lineNum"> 763 </span><span class="lineNoCov"> 0 : virtual ~pkgAcquireStatus() {};</span> -<span class="lineNum"> 764 </span> : }; -<span class="lineNum"> 765 </span> : -<span class="lineNum"> 766 </span> : /** @} */ -<span class="lineNum"> 767 </span> : -<span class="lineNum"> 768 </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> diff --git a/rep/usr/include/apt-pkg/algorithms.h.gcov.html b/rep/usr/include/apt-pkg/algorithms.h.gcov.html deleted file mode 100644 index c11132e..0000000 --- a/rep/usr/include/apt-pkg/algorithms.h.gcov.html +++ /dev/null @@ -1,204 +0,0 @@ -<!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 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 lines:</td> - <td class="headerValue" width="20%">3</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">66.7 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed 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 <apt-pkg/packagemanager.h> -<span class="lineNum"> 35 </span> : #include <apt-pkg/depcache.h> -<span class="lineNum"> 36 </span> : #include <apt-pkg/acquire.h> -<span class="lineNum"> 37 </span> : -<span class="lineNum"> 38 </span> : #include <iostream> -<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 &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 &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 << 0), PreInstalled = (1 << 1), -<span class="lineNum"> 89 </span> : Upgradable = (1 << 2), ReInstateTried = (1 << 3), -<span class="lineNum"> 90 </span> : ToRemove = (1 << 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->ID] |= Protected;};</span> -<span class="lineNum"> 111 </span><span class="lineNoCov"> 0 : inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= ToRemove;};</span> -<span class="lineNum"> 112 </span><span class="lineCov"> 4 : inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(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 &Cache); -<span class="lineNum"> 128 </span> : bool pkgApplyStatus(pkgDepCache &Cache); -<span class="lineNum"> 129 </span> : bool pkgFixBroken(pkgDepCache &Cache); -<span class="lineNum"> 130 </span> : bool pkgAllUpgrade(pkgDepCache &Cache); -<span class="lineNum"> 131 </span> : bool pkgMinimizeUpgrade(pkgDepCache &Cache); -<span class="lineNum"> 132 </span> : -<span class="lineNum"> 133 </span> : void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List); -<span class="lineNum"> 134 </span> : -<span class="lineNum"> 135 </span> : bool ListUpdate(pkgAcquireStatus &progress, pkgSourceList &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> diff --git a/rep/usr/include/apt-pkg/cachefile.h.gcov.html b/rep/usr/include/apt-pkg/cachefile.h.gcov.html deleted file mode 100644 index 8b9c073..0000000 --- a/rep/usr/include/apt-pkg/cachefile.h.gcov.html +++ /dev/null @@ -1,123 +0,0 @@ -<!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/cachefile.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> - cachefile.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: cachefile.h,v 1.5 2002/04/27 04:28:04 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : CacheFile - Simple wrapper class for opening, generating and whatnot -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : This class implements a simple 2 line mechanism to open various sorts -<span class="lineNum"> 9 </span> : of caches. It can operate as root, as not root, show progress and so on, -<span class="lineNum"> 10 </span> : it transparently handles everything necessary. -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : This means it can rebuild caches from the source list and instantiates -<span class="lineNum"> 13 </span> : and prepares the standard policy mechanism. -<span class="lineNum"> 14 </span> : -<span class="lineNum"> 15 </span> : ##################################################################### */ -<span class="lineNum"> 16 </span> : /*}}}*/ -<span class="lineNum"> 17 </span> : #ifndef PKGLIB_CACHEFILE_H -<span class="lineNum"> 18 </span> : #define PKGLIB_CACHEFILE_H -<span class="lineNum"> 19 </span> : -<span class="lineNum"> 20 </span> : -<span class="lineNum"> 21 </span> : #include <apt-pkg/depcache.h> -<span class="lineNum"> 22 </span> : #include <apt-pkg/acquire.h> -<span class="lineNum"> 23 </span> : #include <apt-pkg/sourcelist.h> -<span class="lineNum"> 24 </span> : -<span class="lineNum"> 25 </span> : class pkgPolicy; -<span class="lineNum"> 26 </span> : class pkgCacheFile -<span class="lineNum"> 27 </span> : { -<span class="lineNum"> 28 </span> : protected: -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span> : MMap *Map; -<span class="lineNum"> 31 </span> : pkgCache *Cache; -<span class="lineNum"> 32 </span> : pkgDepCache *DCache; -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span> : public: -<span class="lineNum"> 35 </span> : -<span class="lineNum"> 36 </span> : pkgPolicy *Policy; -<span class="lineNum"> 37 </span> : -<span class="lineNum"> 38 </span> : // We look pretty much exactly like a pointer to a dep cache -<span class="lineNum"> 39 </span> : inline operator pkgCache &() {return *Cache;}; -<span class="lineNum"> 40 </span> : inline operator pkgCache *() {return Cache;}; -<span class="lineNum"> 41 </span> : inline operator pkgDepCache &() {return *DCache;}; -<span class="lineNum"> 42 </span> : inline operator pkgDepCache *() {return DCache;}; -<span class="lineNum"> 43 </span> : inline pkgDepCache *operator ->() {return DCache;}; -<span class="lineNum"> 44 </span> : inline pkgDepCache &operator *() {return *DCache;}; -<span class="lineNum"> 45 </span><span class="lineCov"> 1 : inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) {return (*DCache)[I];};</span> -<span class="lineNum"> 46 </span> : inline unsigned char &operator [](pkgCache::DepIterator const &I) {return (*DCache)[I];}; -<span class="lineNum"> 47 </span> : -<span class="lineNum"> 48 </span> : bool BuildCaches(OpProgress &Progress,bool WithLock = true); -<span class="lineNum"> 49 </span> : bool Open(OpProgress &Progress,bool WithLock = true); -<span class="lineNum"> 50 </span> : void Close(); -<span class="lineNum"> 51 </span> : -<span class="lineNum"> 52 </span> : pkgCacheFile(); -<span class="lineNum"> 53 </span> : ~pkgCacheFile(); -<span class="lineNum"> 54 </span> : }; -<span class="lineNum"> 55 </span> : -<span class="lineNum"> 56 </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> diff --git a/rep/usr/include/apt-pkg/cacheiterators.h.gcov.html b/rep/usr/include/apt-pkg/cacheiterators.h.gcov.html deleted file mode 100644 index ac4c9b8..0000000 --- a/rep/usr/include/apt-pkg/cacheiterators.h.gcov.html +++ /dev/null @@ -1,503 +0,0 @@ -<!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/cacheiterators.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> - cacheiterators.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%">51</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">92.2 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">47</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: cacheiterators.h,v 1.18.2.1 2004/05/08 22:44:27 mdz Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : Cache Iterators - Iterators for navigating the cache structure -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : The iterators all provides ++,==,!=,->,* and end for their type. -<span class="lineNum"> 9 </span> : The end function can be used to tell if the list has been fully -<span class="lineNum"> 10 </span> : traversed. -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : Unlike STL iterators these contain helper functions to access the data -<span class="lineNum"> 13 </span> : that is being iterated over. This is because the data structures can't -<span class="lineNum"> 14 </span> : be formed in a manner that is intuitive to use and also mmapable. -<span class="lineNum"> 15 </span> : -<span class="lineNum"> 16 </span> : For each variable in the target structure that would need a translation -<span class="lineNum"> 17 </span> : to be accessed correctly a translating function of the same name is -<span class="lineNum"> 18 </span> : present in the iterator. If applicable the translating function will -<span class="lineNum"> 19 </span> : return an iterator. -<span class="lineNum"> 20 </span> : -<span class="lineNum"> 21 </span> : The DepIterator can iterate over two lists, a list of 'version depends' -<span class="lineNum"> 22 </span> : or a list of 'package reverse depends'. The type is determined by the -<span class="lineNum"> 23 </span> : structure passed to the constructor, which should be the structure -<span class="lineNum"> 24 </span> : that has the depends pointer as a member. The provide iterator has the -<span class="lineNum"> 25 </span> : same system. -<span class="lineNum"> 26 </span> : -<span class="lineNum"> 27 </span> : This header is not user includable, please use apt-pkg/pkgcache.h -<span class="lineNum"> 28 </span> : -<span class="lineNum"> 29 </span> : ##################################################################### */ -<span class="lineNum"> 30 </span> : /*}}}*/ -<span class="lineNum"> 31 </span> : #ifndef PKGLIB_CACHEITERATORS_H -<span class="lineNum"> 32 </span> : #define PKGLIB_CACHEITERATORS_H -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span> : -<span class="lineNum"> 35 </span> : // Package Iterator -<span class="lineNum"> 36 </span> : class pkgCache::PkgIterator -<span class="lineNum"> 37 </span> : { -<span class="lineNum"> 38 </span> : friend class pkgCache; -<span class="lineNum"> 39 </span> : Package *Pkg; -<span class="lineNum"> 40 </span> : pkgCache *Owner; -<span class="lineNum"> 41 </span> : long HashIndex; -<span class="lineNum"> 42 </span> : -<span class="lineNum"> 43 </span> : protected: -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span> : // This constructor is the 'begin' constructor, never use it. -<span class="lineNum"> 46 </span><span class="lineCov"> 19 : inline PkgIterator(pkgCache &Owner) : Owner(&Owner), HashIndex(-1)</span> -<span class="lineNum"> 47 </span> : { -<span class="lineNum"> 48 </span><span class="lineCov"> 19 : Pkg = Owner.PkgP;</span> -<span class="lineNum"> 49 </span><span class="lineCov"> 19 : operator ++(0);</span> -<span class="lineNum"> 50 </span><span class="lineCov"> 19 : };</span> -<span class="lineNum"> 51 </span> : -<span class="lineNum"> 52 </span> : public: -<span class="lineNum"> 53 </span> : -<span class="lineNum"> 54 </span> : enum OkState {NeedsNothing,NeedsUnpack,NeedsConfigure}; -<span class="lineNum"> 55 </span> : -<span class="lineNum"> 56 </span> : // Iteration -<span class="lineNum"> 57 </span> : void operator ++(int); -<span class="lineNum"> 58 </span><span class="lineCov"> 52878 : inline void operator ++() {operator ++(0);};</span> -<span class="lineNum"> 59 </span><span class="lineCov"> 89241 : inline bool end() const {return Owner == 0 || Pkg == Owner->PkgP?true:false;};</span> -<span class="lineNum"> 60 </span> : -<span class="lineNum"> 61 </span> : // Comparison -<span class="lineNum"> 62 </span><span class="lineNoCov"> 0 : inline bool operator ==(const PkgIterator &B) const {return Pkg == B.Pkg;};</span> -<span class="lineNum"> 63 </span><span class="lineNoCov"> 0 : inline bool operator !=(const PkgIterator &B) const {return Pkg != B.Pkg;};</span> -<span class="lineNum"> 64 </span> : -<span class="lineNum"> 65 </span> : // Accessors -<span class="lineNum"> 66 </span><span class="lineCov"> 67369 : inline Package *operator ->() {return Pkg;};</span> -<span class="lineNum"> 67 </span><span class="lineCov"> 3787 : inline Package const *operator ->() const {return Pkg;};</span> -<span class="lineNum"> 68 </span> : inline Package const &operator *() const {return *Pkg;}; -<span class="lineNum"> 69 </span> : inline operator Package *() {return Pkg == Owner->PkgP?0:Pkg;}; -<span class="lineNum"> 70 </span> : inline operator Package const *() const {return Pkg == Owner->PkgP?0:Pkg;}; -<span class="lineNum"> 71 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 72 </span> : -<span class="lineNum"> 73 </span><span class="lineCov"> 18343 : inline const char *Name() const {return Pkg->Name == 0?0:Owner->StrP + Pkg->Name;};</span> -<span class="lineNum"> 74 </span> : inline const char *Section() const {return Pkg->Section == 0?0:Owner->StrP + Pkg->Section;}; -<span class="lineNum"> 75 </span> : inline bool Purge() const {return Pkg->CurrentState == pkgCache::State::Purge || -<span class="lineNum"> 76 </span> : (Pkg->CurrentVer == 0 && Pkg->CurrentState == pkgCache::State::NotInstalled);}; -<span class="lineNum"> 77 </span> : inline VerIterator VersionList() const; -<span class="lineNum"> 78 </span> : inline VerIterator CurrentVer() const; -<span class="lineNum"> 79 </span> : inline DepIterator RevDependsList() const; -<span class="lineNum"> 80 </span> : inline PrvIterator ProvidesList() const; -<span class="lineNum"> 81 </span> : inline unsigned long Index() const {return Pkg - Owner->PkgP;}; -<span class="lineNum"> 82 </span> : OkState State() const; -<span class="lineNum"> 83 </span> : -<span class="lineNum"> 84 </span> : // Constructors -<span class="lineNum"> 85 </span><span class="lineCov"> 5424 : inline PkgIterator(pkgCache &Owner,Package *Trg) : Pkg(Trg), Owner(&Owner),</span> -<span class="lineNum"> 86 </span><span class="lineCov"> 5424 : HashIndex(0) </span> -<span class="lineNum"> 87 </span> : { -<span class="lineNum"> 88 </span><span class="lineCov"> 5424 : if (Pkg == 0)</span> -<span class="lineNum"> 89 </span><span class="lineNoCov"> 0 : Pkg = Owner.PkgP;</span> -<span class="lineNum"> 90 </span><span class="lineCov"> 5424 : };</span> -<span class="lineNum"> 91 </span><span class="lineCov"> 29 : inline PkgIterator() : Pkg(0), Owner(0), HashIndex(0) {};</span> -<span class="lineNum"> 92 </span> : }; -<span class="lineNum"> 93 </span> : -<span class="lineNum"> 94 </span> : // Version Iterator -<span class="lineNum"> 95 </span> : class pkgCache::VerIterator -<span class="lineNum"> 96 </span> : { -<span class="lineNum"> 97 </span> : Version *Ver; -<span class="lineNum"> 98 </span> : pkgCache *Owner; -<span class="lineNum"> 99 </span> : -<span class="lineNum"> 100 </span> : void _dummy(); -<span class="lineNum"> 101 </span> : -<span class="lineNum"> 102 </span> : public: -<span class="lineNum"> 103 </span> : -<span class="lineNum"> 104 </span> : // Iteration -<span class="lineNum"> 105 </span><span class="lineCov"> 15767 : void operator ++(int) {if (Ver != Owner->VerP) Ver = Owner->VerP + Ver->NextVer;};</span> -<span class="lineNum"> 106 </span><span class="lineCov"> 1808 : inline void operator ++() {operator ++(0);};</span> -<span class="lineNum"> 107 </span><span class="lineCov"> 58053 : inline bool end() const {return Owner == NULL || (Ver == Owner->VerP?true:false);};</span> -<span class="lineNum"> 108 </span><span class="lineCov"> 11172 : inline void operator =(const VerIterator &B) {Ver = B.Ver; Owner = B.Owner;};</span> -<span class="lineNum"> 109 </span> : -<span class="lineNum"> 110 </span> : // Comparison -<span class="lineNum"> 111 </span> : inline bool operator ==(const VerIterator &B) const {return Ver == B.Ver;}; -<span class="lineNum"> 112 </span><span class="lineCov"> 1433 : inline bool operator !=(const VerIterator &B) const {return Ver != B.Ver;};</span> -<span class="lineNum"> 113 </span> : int CompareVer(const VerIterator &B) const; -<span class="lineNum"> 114 </span> : -<span class="lineNum"> 115 </span> : // Accessors -<span class="lineNum"> 116 </span> : inline Version *operator ->() {return Ver;}; -<span class="lineNum"> 117 </span> : inline Version const *operator ->() const {return Ver;}; -<span class="lineNum"> 118 </span> : inline Version &operator *() {return *Ver;}; -<span class="lineNum"> 119 </span> : inline Version const &operator *() const {return *Ver;}; -<span class="lineNum"> 120 </span> : inline operator Version *() {return Ver == Owner->VerP?0:Ver;}; -<span class="lineNum"> 121 </span> : inline operator Version const *() const {return Ver == Owner->VerP?0:Ver;}; -<span class="lineNum"> 122 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 123 </span> : -<span class="lineNum"> 124 </span><span class="lineCov"> 1830 : inline const char *VerStr() const {return Ver->VerStr == 0?0:Owner->StrP + Ver->VerStr;};</span> -<span class="lineNum"> 125 </span> : inline const char *Section() const {return Ver->Section == 0?0:Owner->StrP + Ver->Section;}; -<span class="lineNum"> 126 </span> : inline const char *Arch() const {return Ver->Arch == 0?0:Owner->StrP + Ver->Arch;}; -<span class="lineNum"> 127 </span><span class="lineCov"> 5424 : inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Ver->ParentPkg);};</span> -<span class="lineNum"> 128 </span> : inline DescIterator DescriptionList() const; -<span class="lineNum"> 129 </span> : DescIterator TranslatedDescription() const; -<span class="lineNum"> 130 </span> : inline DepIterator DependsList() const; -<span class="lineNum"> 131 </span> : inline PrvIterator ProvidesList() const; -<span class="lineNum"> 132 </span> : inline VerFileIterator FileList() const; -<span class="lineNum"> 133 </span> : inline unsigned long Index() const {return Ver - Owner->VerP;}; -<span class="lineNum"> 134 </span> : bool Downloadable() const; -<span class="lineNum"> 135 </span> : inline const char *PriorityType() {return Owner->Priority(Ver->Priority);}; -<span class="lineNum"> 136 </span> : string RelStr(); -<span class="lineNum"> 137 </span> : -<span class="lineNum"> 138 </span> : bool Automatic() const; -<span class="lineNum"> 139 </span> : VerFileIterator NewestFile() const; -<span class="lineNum"> 140 </span> : -<span class="lineNum"> 141 </span><span class="lineCov"> 15 : inline VerIterator() : Ver(0), Owner(0) {}; </span> -<span class="lineNum"> 142 </span><span class="lineCov"> 21130 : inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Ver(Trg), </span> -<span class="lineNum"> 143 </span><span class="lineCov"> 21130 : Owner(&Owner) </span> -<span class="lineNum"> 144 </span> : { -<span class="lineNum"> 145 </span><span class="lineCov"> 21130 : if (Ver == 0)</span> -<span class="lineNum"> 146 </span><span class="lineNoCov"> 0 : Ver = Owner.VerP;</span> -<span class="lineNum"> 147 </span><span class="lineCov"> 21130 : };</span> -<span class="lineNum"> 148 </span> : }; -<span class="lineNum"> 149 </span> : -<span class="lineNum"> 150 </span> : // Description Iterator -<span class="lineNum"> 151 </span> : class pkgCache::DescIterator -<span class="lineNum"> 152 </span> : { -<span class="lineNum"> 153 </span> : Description *Desc; -<span class="lineNum"> 154 </span> : pkgCache *Owner; -<span class="lineNum"> 155 </span> : -<span class="lineNum"> 156 </span> : void _dummy(); -<span class="lineNum"> 157 </span> : -<span class="lineNum"> 158 </span> : public: -<span class="lineNum"> 159 </span> : -<span class="lineNum"> 160 </span> : // Iteration -<span class="lineNum"> 161 </span> : void operator ++(int) {if (Desc != Owner->DescP) Desc = Owner->DescP + Desc->NextDesc;}; -<span class="lineNum"> 162 </span> : inline void operator ++() {operator ++(0);}; -<span class="lineNum"> 163 </span> : inline bool end() const {return Desc == Owner->DescP?true:false;}; -<span class="lineNum"> 164 </span> : inline void operator =(const DescIterator &B) {Desc = B.Desc; Owner = B.Owner;}; -<span class="lineNum"> 165 </span> : -<span class="lineNum"> 166 </span> : // Comparison -<span class="lineNum"> 167 </span> : inline bool operator ==(const DescIterator &B) const {return Desc == B.Desc;}; -<span class="lineNum"> 168 </span> : inline bool operator !=(const DescIterator &B) const {return Desc != B.Desc;}; -<span class="lineNum"> 169 </span> : int CompareDesc(const DescIterator &B) const; -<span class="lineNum"> 170 </span> : -<span class="lineNum"> 171 </span> : // Accessors -<span class="lineNum"> 172 </span> : inline Description *operator ->() {return Desc;}; -<span class="lineNum"> 173 </span> : inline Description const *operator ->() const {return Desc;}; -<span class="lineNum"> 174 </span> : inline Description &operator *() {return *Desc;}; -<span class="lineNum"> 175 </span> : inline Description const &operator *() const {return *Desc;}; -<span class="lineNum"> 176 </span> : inline operator Description *() {return Desc == Owner->DescP?0:Desc;}; -<span class="lineNum"> 177 </span> : inline operator Description const *() const {return Desc == Owner->DescP?0:Desc;}; -<span class="lineNum"> 178 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 179 </span> : -<span class="lineNum"> 180 </span> : inline const char *LanguageCode() const {return Owner->StrP + Desc->language_code;}; -<span class="lineNum"> 181 </span> : inline const char *md5() const {return Owner->StrP + Desc->md5sum;}; -<span class="lineNum"> 182 </span> : inline DescFileIterator FileList() const; -<span class="lineNum"> 183 </span> : inline unsigned long Index() const {return Desc - Owner->DescP;}; -<span class="lineNum"> 184 </span> : -<span class="lineNum"> 185 </span> : inline DescIterator() : Desc(0), Owner(0) {}; -<span class="lineNum"> 186 </span> : inline DescIterator(pkgCache &Owner,Description *Trg = 0) : Desc(Trg), -<span class="lineNum"> 187 </span> : Owner(&Owner) -<span class="lineNum"> 188 </span> : { -<span class="lineNum"> 189 </span> : if (Desc == 0) -<span class="lineNum"> 190 </span> : Desc = Owner.DescP; -<span class="lineNum"> 191 </span> : }; -<span class="lineNum"> 192 </span> : }; -<span class="lineNum"> 193 </span> : -<span class="lineNum"> 194 </span> : // Dependency iterator -<span class="lineNum"> 195 </span> : class pkgCache::DepIterator -<span class="lineNum"> 196 </span> : { -<span class="lineNum"> 197 </span> : Dependency *Dep; -<span class="lineNum"> 198 </span> : enum {DepVer, DepRev} Type; -<span class="lineNum"> 199 </span> : pkgCache *Owner; -<span class="lineNum"> 200 </span> : -<span class="lineNum"> 201 </span> : void _dummy(); -<span class="lineNum"> 202 </span> : -<span class="lineNum"> 203 </span> : public: -<span class="lineNum"> 204 </span> : -<span class="lineNum"> 205 </span> : // Iteration -<span class="lineNum"> 206 </span> : void operator ++(int) {if (Dep != Owner->DepP) Dep = Owner->DepP + -<span class="lineNum"> 207 </span> : (Type == DepVer?Dep->NextDepends:Dep->NextRevDepends);}; -<span class="lineNum"> 208 </span> : inline void operator ++() {operator ++(0);}; -<span class="lineNum"> 209 </span> : inline bool end() const {return Owner == 0 || Dep == Owner->DepP?true:false;}; -<span class="lineNum"> 210 </span> : -<span class="lineNum"> 211 </span> : // Comparison -<span class="lineNum"> 212 </span> : inline bool operator ==(const DepIterator &B) const {return Dep == B.Dep;}; -<span class="lineNum"> 213 </span> : inline bool operator !=(const DepIterator &B) const {return Dep != B.Dep;}; -<span class="lineNum"> 214 </span> : -<span class="lineNum"> 215 </span> : // Accessors -<span class="lineNum"> 216 </span> : inline Dependency *operator ->() {return Dep;}; -<span class="lineNum"> 217 </span> : inline Dependency const *operator ->() const {return Dep;}; -<span class="lineNum"> 218 </span> : inline Dependency &operator *() {return *Dep;}; -<span class="lineNum"> 219 </span> : inline Dependency const &operator *() const {return *Dep;}; -<span class="lineNum"> 220 </span> : inline operator Dependency *() {return Dep == Owner->DepP?0:Dep;}; -<span class="lineNum"> 221 </span> : inline operator Dependency const *() const {return Dep == Owner->DepP?0:Dep;}; -<span class="lineNum"> 222 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 223 </span> : -<span class="lineNum"> 224 </span> : inline const char *TargetVer() const {return Dep->Version == 0?0:Owner->StrP + Dep->Version;}; -<span class="lineNum"> 225 </span> : inline PkgIterator TargetPkg() {return PkgIterator(*Owner,Owner->PkgP + Dep->Package);}; -<span class="lineNum"> 226 </span> : inline PkgIterator SmartTargetPkg() {PkgIterator R(*Owner,0);SmartTargetPkg(R);return R;}; -<span class="lineNum"> 227 </span> : inline VerIterator ParentVer() {return VerIterator(*Owner,Owner->VerP + Dep->ParentVer);}; -<span class="lineNum"> 228 </span> : inline PkgIterator ParentPkg() {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[Dep->ParentVer].ParentPkg);}; -<span class="lineNum"> 229 </span> : inline bool Reverse() {return Type == DepRev;}; -<span class="lineNum"> 230 </span> : inline unsigned long Index() const {return Dep - Owner->DepP;}; -<span class="lineNum"> 231 </span> : bool IsCritical(); -<span class="lineNum"> 232 </span> : void GlobOr(DepIterator &Start,DepIterator &End); -<span class="lineNum"> 233 </span> : Version **AllTargets(); -<span class="lineNum"> 234 </span> : bool SmartTargetPkg(PkgIterator &Result); -<span class="lineNum"> 235 </span> : inline const char *CompType() {return Owner->CompType(Dep->CompareOp);}; -<span class="lineNum"> 236 </span> : inline const char *DepType() {return Owner->DepType(Dep->Type);}; -<span class="lineNum"> 237 </span> : -<span class="lineNum"> 238 </span> : inline DepIterator(pkgCache &Owner,Dependency *Trg,Version * = 0) : -<span class="lineNum"> 239 </span> : Dep(Trg), Type(DepVer), Owner(&Owner) -<span class="lineNum"> 240 </span> : { -<span class="lineNum"> 241 </span> : if (Dep == 0) -<span class="lineNum"> 242 </span> : Dep = Owner.DepP; -<span class="lineNum"> 243 </span> : }; -<span class="lineNum"> 244 </span> : inline DepIterator(pkgCache &Owner,Dependency *Trg,Package *) : -<span class="lineNum"> 245 </span> : Dep(Trg), Type(DepRev), Owner(&Owner) -<span class="lineNum"> 246 </span> : { -<span class="lineNum"> 247 </span> : if (Dep == 0) -<span class="lineNum"> 248 </span> : Dep = Owner.DepP; -<span class="lineNum"> 249 </span> : }; -<span class="lineNum"> 250 </span> : inline DepIterator() : Dep(0), Type(DepVer), Owner(0) {}; -<span class="lineNum"> 251 </span> : }; -<span class="lineNum"> 252 </span> : -<span class="lineNum"> 253 </span> : // Provides iterator -<span class="lineNum"> 254 </span> : class pkgCache::PrvIterator -<span class="lineNum"> 255 </span> : { -<span class="lineNum"> 256 </span> : Provides *Prv; -<span class="lineNum"> 257 </span> : enum {PrvVer, PrvPkg} Type; -<span class="lineNum"> 258 </span> : pkgCache *Owner; -<span class="lineNum"> 259 </span> : -<span class="lineNum"> 260 </span> : void _dummy(); -<span class="lineNum"> 261 </span> : -<span class="lineNum"> 262 </span> : public: -<span class="lineNum"> 263 </span> : -<span class="lineNum"> 264 </span> : // Iteration -<span class="lineNum"> 265 </span> : void operator ++(int) {if (Prv != Owner->ProvideP) Prv = Owner->ProvideP + -<span class="lineNum"> 266 </span> : (Type == PrvVer?Prv->NextPkgProv:Prv->NextProvides);}; -<span class="lineNum"> 267 </span> : inline void operator ++() {operator ++(0);}; -<span class="lineNum"> 268 </span> : inline bool end() const {return Owner == 0 || Prv == Owner->ProvideP?true:false;}; -<span class="lineNum"> 269 </span> : -<span class="lineNum"> 270 </span> : // Comparison -<span class="lineNum"> 271 </span> : inline bool operator ==(const PrvIterator &B) const {return Prv == B.Prv;}; -<span class="lineNum"> 272 </span> : inline bool operator !=(const PrvIterator &B) const {return Prv != B.Prv;}; -<span class="lineNum"> 273 </span> : -<span class="lineNum"> 274 </span> : // Accessors -<span class="lineNum"> 275 </span> : inline Provides *operator ->() {return Prv;}; -<span class="lineNum"> 276 </span> : inline Provides const *operator ->() const {return Prv;}; -<span class="lineNum"> 277 </span> : inline Provides &operator *() {return *Prv;}; -<span class="lineNum"> 278 </span> : inline Provides const &operator *() const {return *Prv;}; -<span class="lineNum"> 279 </span> : inline operator Provides *() {return Prv == Owner->ProvideP?0:Prv;}; -<span class="lineNum"> 280 </span> : inline operator Provides const *() const {return Prv == Owner->ProvideP?0:Prv;}; -<span class="lineNum"> 281 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 282 </span> : -<span class="lineNum"> 283 </span> : inline const char *Name() const {return Owner->StrP + Owner->PkgP[Prv->ParentPkg].Name;}; -<span class="lineNum"> 284 </span> : inline const char *ProvideVersion() const {return Prv->ProvideVersion == 0?0:Owner->StrP + Prv->ProvideVersion;}; -<span class="lineNum"> 285 </span> : inline PkgIterator ParentPkg() {return PkgIterator(*Owner,Owner->PkgP + Prv->ParentPkg);}; -<span class="lineNum"> 286 </span> : inline VerIterator OwnerVer() {return VerIterator(*Owner,Owner->VerP + Prv->Version);}; -<span class="lineNum"> 287 </span> : inline PkgIterator OwnerPkg() {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[Prv->Version].ParentPkg);}; -<span class="lineNum"> 288 </span> : inline unsigned long Index() const {return Prv - Owner->ProvideP;}; -<span class="lineNum"> 289 </span> : -<span class="lineNum"> 290 </span> : inline PrvIterator() : Prv(0), Type(PrvVer), Owner(0) {}; -<span class="lineNum"> 291 </span> : -<span class="lineNum"> 292 </span> : inline PrvIterator(pkgCache &Owner,Provides *Trg,Version *) : -<span class="lineNum"> 293 </span> : Prv(Trg), Type(PrvVer), Owner(&Owner) -<span class="lineNum"> 294 </span> : { -<span class="lineNum"> 295 </span> : if (Prv == 0) -<span class="lineNum"> 296 </span> : Prv = Owner.ProvideP; -<span class="lineNum"> 297 </span> : }; -<span class="lineNum"> 298 </span> : inline PrvIterator(pkgCache &Owner,Provides *Trg,Package *) : -<span class="lineNum"> 299 </span> : Prv(Trg), Type(PrvPkg), Owner(&Owner) -<span class="lineNum"> 300 </span> : { -<span class="lineNum"> 301 </span> : if (Prv == 0) -<span class="lineNum"> 302 </span> : Prv = Owner.ProvideP; -<span class="lineNum"> 303 </span> : }; -<span class="lineNum"> 304 </span> : }; -<span class="lineNum"> 305 </span> : -<span class="lineNum"> 306 </span> : // Package file -<span class="lineNum"> 307 </span> : class pkgCache::PkgFileIterator -<span class="lineNum"> 308 </span> : { -<span class="lineNum"> 309 </span> : pkgCache *Owner; -<span class="lineNum"> 310 </span> : PackageFile *File; -<span class="lineNum"> 311 </span> : -<span class="lineNum"> 312 </span> : public: -<span class="lineNum"> 313 </span> : -<span class="lineNum"> 314 </span> : // Iteration -<span class="lineNum"> 315 </span> : void operator ++(int) {if (File!= Owner->PkgFileP) File = Owner->PkgFileP + File->NextFile;}; -<span class="lineNum"> 316 </span> : inline void operator ++() {operator ++(0);}; -<span class="lineNum"> 317 </span> : inline bool end() const {return File == Owner->PkgFileP?true:false;}; -<span class="lineNum"> 318 </span> : -<span class="lineNum"> 319 </span> : // Comparison -<span class="lineNum"> 320 </span> : inline bool operator ==(const PkgFileIterator &B) const {return File == B.File;}; -<span class="lineNum"> 321 </span> : inline bool operator !=(const PkgFileIterator &B) const {return File != B.File;}; -<span class="lineNum"> 322 </span> : -<span class="lineNum"> 323 </span> : // Accessors -<span class="lineNum"> 324 </span><span class="lineCov"> 26403 : inline PackageFile *operator ->() {return File;};</span> -<span class="lineNum"> 325 </span> : inline PackageFile const *operator ->() const {return File;}; -<span class="lineNum"> 326 </span> : inline PackageFile const &operator *() const {return *File;}; -<span class="lineNum"> 327 </span><span class="lineCov"> 5202 : inline operator PackageFile *() {return File == Owner->PkgFileP?0:File;};</span> -<span class="lineNum"> 328 </span> : inline operator PackageFile const *() const {return File == Owner->PkgFileP?0:File;}; -<span class="lineNum"> 329 </span><span class="lineCov"> 5216 : inline pkgCache *Cache() {return Owner;};</span> -<span class="lineNum"> 330 </span> : -<span class="lineNum"> 331 </span><span class="lineCov"> 26 : inline const char *FileName() const {return File->FileName == 0?0:Owner->StrP + File->FileName;};</span> -<span class="lineNum"> 332 </span> : inline const char *Archive() const {return File->Archive == 0?0:Owner->StrP + File->Archive;}; -<span class="lineNum"> 333 </span> : inline const char *Component() const {return File->Component == 0?0:Owner->StrP + File->Component;}; -<span class="lineNum"> 334 </span> : inline const char *Version() const {return File->Version == 0?0:Owner->StrP + File->Version;}; -<span class="lineNum"> 335 </span> : inline const char *Origin() const {return File->Origin == 0?0:Owner->StrP + File->Origin;}; -<span class="lineNum"> 336 </span> : inline const char *Label() const {return File->Label == 0?0:Owner->StrP + File->Label;}; -<span class="lineNum"> 337 </span> : inline const char *Site() const {return File->Site == 0?0:Owner->StrP + File->Site;}; -<span class="lineNum"> 338 </span> : inline const char *Architecture() const {return File->Architecture == 0?0:Owner->StrP + File->Architecture;}; -<span class="lineNum"> 339 </span> : inline const char *IndexType() const {return File->IndexType == 0?0:Owner->StrP + File->IndexType;}; -<span class="lineNum"> 340 </span> : -<span class="lineNum"> 341 </span> : inline unsigned long Index() const {return File - Owner->PkgFileP;}; -<span class="lineNum"> 342 </span> : -<span class="lineNum"> 343 </span> : bool IsOk(); -<span class="lineNum"> 344 </span> : string RelStr(); -<span class="lineNum"> 345 </span> : -<span class="lineNum"> 346 </span> : // Constructors -<span class="lineNum"> 347 </span><span class="lineCov"> 15 : inline PkgFileIterator() : Owner(0), File(0) {};</span> -<span class="lineNum"> 348 </span> : inline PkgFileIterator(pkgCache &Owner) : Owner(&Owner), File(Owner.PkgFileP) {}; -<span class="lineNum"> 349 </span><span class="lineCov"> 26429 : inline PkgFileIterator(pkgCache &Owner,PackageFile *Trg) : Owner(&Owner), File(Trg) {};</span> -<span class="lineNum"> 350 </span> : }; -<span class="lineNum"> 351 </span> : -<span class="lineNum"> 352 </span> : // Version File -<span class="lineNum"> 353 </span> : class pkgCache::VerFileIterator -<span class="lineNum"> 354 </span> : { -<span class="lineNum"> 355 </span> : pkgCache *Owner; -<span class="lineNum"> 356 </span> : VerFile *FileP; -<span class="lineNum"> 357 </span> : -<span class="lineNum"> 358 </span> : public: -<span class="lineNum"> 359 </span> : -<span class="lineNum"> 360 </span> : // Iteration -<span class="lineNum"> 361 </span><span class="lineCov"> 22055 : void operator ++(int) {if (FileP != Owner->VerFileP) FileP = Owner->VerFileP + FileP->NextFile;};</span> -<span class="lineNum"> 362 </span><span class="lineCov"> 11714 : inline void operator ++() {operator ++(0);};</span> -<span class="lineNum"> 363 </span><span class="lineCov"> 90338 : inline bool end() const {return FileP == Owner->VerFileP?true:false;};</span> -<span class="lineNum"> 364 </span> : -<span class="lineNum"> 365 </span> : // Comparison -<span class="lineNum"> 366 </span> : inline bool operator ==(const VerFileIterator &B) const {return FileP == B.FileP;}; -<span class="lineNum"> 367 </span> : inline bool operator !=(const VerFileIterator &B) const {return FileP != B.FileP;}; -<span class="lineNum"> 368 </span> : -<span class="lineNum"> 369 </span> : // Accessors -<span class="lineNum"> 370 </span><span class="lineCov"> 10056 : inline VerFile *operator ->() {return FileP;};</span> -<span class="lineNum"> 371 </span> : inline VerFile const *operator ->() const {return FileP;}; -<span class="lineNum"> 372 </span> : inline VerFile const &operator *() const {return *FileP;}; -<span class="lineNum"> 373 </span><span class="lineCov"> 4341 : inline operator VerFile *() {return FileP == Owner->VerFileP?0:FileP;};</span> -<span class="lineNum"> 374 </span> : inline operator VerFile const *() const {return FileP == Owner->VerFileP?0:FileP;}; -<span class="lineNum"> 375 </span><span class="lineCov"> 1311 : inline pkgCache *Cache() {return Owner;};</span> -<span class="lineNum"> 376 </span> : -<span class="lineNum"> 377 </span><span class="lineCov"> 26406 : inline PkgFileIterator File() const {return PkgFileIterator(*Owner,FileP->File + Owner->PkgFileP);};</span> -<span class="lineNum"> 378 </span> : inline unsigned long Index() const {return FileP - Owner->VerFileP;}; -<span class="lineNum"> 379 </span> : -<span class="lineNum"> 380 </span><span class="lineCov"> 7 : inline VerFileIterator() : Owner(0), FileP(0) {};</span> -<span class="lineNum"> 381 </span><span class="lineCov"> 27354 : inline VerFileIterator(pkgCache &Owner,VerFile *Trg) : Owner(&Owner), FileP(Trg) {};</span> -<span class="lineNum"> 382 </span> : }; -<span class="lineNum"> 383 </span> : -<span class="lineNum"> 384 </span> : // Description File -<span class="lineNum"> 385 </span> : class pkgCache::DescFileIterator -<span class="lineNum"> 386 </span> : { -<span class="lineNum"> 387 </span> : pkgCache *Owner; -<span class="lineNum"> 388 </span> : DescFile *FileP; -<span class="lineNum"> 389 </span> : -<span class="lineNum"> 390 </span> : public: -<span class="lineNum"> 391 </span> : -<span class="lineNum"> 392 </span> : // Iteration -<span class="lineNum"> 393 </span> : void operator ++(int) {if (FileP != Owner->DescFileP) FileP = Owner->DescFileP + FileP->NextFile;}; -<span class="lineNum"> 394 </span> : inline void operator ++() {operator ++(0);}; -<span class="lineNum"> 395 </span> : inline bool end() const {return FileP == Owner->DescFileP?true:false;}; -<span class="lineNum"> 396 </span> : -<span class="lineNum"> 397 </span> : // Comparison -<span class="lineNum"> 398 </span> : inline bool operator ==(const DescFileIterator &B) const {return FileP == B.FileP;}; -<span class="lineNum"> 399 </span> : inline bool operator !=(const DescFileIterator &B) const {return FileP != B.FileP;}; -<span class="lineNum"> 400 </span> : -<span class="lineNum"> 401 </span> : // Accessors -<span class="lineNum"> 402 </span> : inline DescFile *operator ->() {return FileP;}; -<span class="lineNum"> 403 </span> : inline DescFile const *operator ->() const {return FileP;}; -<span class="lineNum"> 404 </span> : inline DescFile const &operator *() const {return *FileP;}; -<span class="lineNum"> 405 </span> : inline operator DescFile *() {return FileP == Owner->DescFileP?0:FileP;}; -<span class="lineNum"> 406 </span> : inline operator DescFile const *() const {return FileP == Owner->DescFileP?0:FileP;}; -<span class="lineNum"> 407 </span> : inline pkgCache *Cache() {return Owner;}; -<span class="lineNum"> 408 </span> : -<span class="lineNum"> 409 </span> : inline PkgFileIterator File() const {return PkgFileIterator(*Owner,FileP->File + Owner->PkgFileP);}; -<span class="lineNum"> 410 </span> : inline unsigned long Index() const {return FileP - Owner->DescFileP;}; -<span class="lineNum"> 411 </span> : -<span class="lineNum"> 412 </span> : inline DescFileIterator() : Owner(0), FileP(0) {}; -<span class="lineNum"> 413 </span> : inline DescFileIterator(pkgCache &Owner,DescFile *Trg) : Owner(&Owner), FileP(Trg) {}; -<span class="lineNum"> 414 </span> : }; -<span class="lineNum"> 415 </span> : -<span class="lineNum"> 416 </span> : // Inlined Begin functions cant be in the class because of order problems -<span class="lineNum"> 417 </span><span class="lineCov"> 19696 : inline pkgCache::VerIterator pkgCache::PkgIterator::VersionList() const</span> -<span class="lineNum"> 418 </span><span class="lineCov"> 19696 : {return VerIterator(*Owner,Owner->VerP + Pkg->VersionList);};</span> -<span class="lineNum"> 419 </span><span class="lineCov"> 2 : inline pkgCache::VerIterator pkgCache::PkgIterator::CurrentVer() const</span> -<span class="lineNum"> 420 </span><span class="lineCov"> 2 : {return VerIterator(*Owner,Owner->VerP + Pkg->CurrentVer);};</span> -<span class="lineNum"> 421 </span> : inline pkgCache::DepIterator pkgCache::PkgIterator::RevDependsList() const -<span class="lineNum"> 422 </span> : {return DepIterator(*Owner,Owner->DepP + Pkg->RevDepends,Pkg);}; -<span class="lineNum"> 423 </span> : inline pkgCache::PrvIterator pkgCache::PkgIterator::ProvidesList() const -<span class="lineNum"> 424 </span> : {return PrvIterator(*Owner,Owner->ProvideP + Pkg->ProvidesList,Pkg);}; -<span class="lineNum"> 425 </span> : inline pkgCache::DescIterator pkgCache::VerIterator::DescriptionList() const -<span class="lineNum"> 426 </span> : {return DescIterator(*Owner,Owner->DescP + Ver->DescriptionList);}; -<span class="lineNum"> 427 </span> : inline pkgCache::PrvIterator pkgCache::VerIterator::ProvidesList() const -<span class="lineNum"> 428 </span> : {return PrvIterator(*Owner,Owner->ProvideP + Ver->ProvidesList,Ver);}; -<span class="lineNum"> 429 </span> : inline pkgCache::DepIterator pkgCache::VerIterator::DependsList() const -<span class="lineNum"> 430 </span> : {return DepIterator(*Owner,Owner->DepP + Ver->DependsList,Ver);}; -<span class="lineNum"> 431 </span><span class="lineCov"> 26484 : inline pkgCache::VerFileIterator pkgCache::VerIterator::FileList() const</span> -<span class="lineNum"> 432 </span><span class="lineCov"> 26484 : {return VerFileIterator(*Owner,Owner->VerFileP + Ver->FileList);};</span> -<span class="lineNum"> 433 </span> : inline pkgCache::DescFileIterator pkgCache::DescIterator::FileList() const -<span class="lineNum"> 434 </span> : {return DescFileIterator(*Owner,Owner->DescFileP + Desc->FileList);}; -<span class="lineNum"> 435 </span> : -<span class="lineNum"> 436 </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> diff --git a/rep/usr/include/apt-pkg/depcache.h.gcov.html b/rep/usr/include/apt-pkg/depcache.h.gcov.html deleted file mode 100644 index f982f27..0000000 --- a/rep/usr/include/apt-pkg/depcache.h.gcov.html +++ /dev/null @@ -1,492 +0,0 @@ -<!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/depcache.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> - depcache.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%">6</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%">6</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: c++; mode: fold -*- -<span class="lineNum"> 2 </span> : // Description /*{{{*/ -<span class="lineNum"> 3 </span> : // $Id: depcache.h,v 1.14 2001/02/20 07:03:17 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : DepCache - Dependency Extension data for the cache -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : This class stores the cache data and a set of extension structures for -<span class="lineNum"> 9 </span> : monitoring the current state of all the packages. It also generates and -<span class="lineNum"> 10 </span> : caches the 'install' state of many things. This refers to the state of the -<span class="lineNum"> 11 </span> : package after an install has been run. -<span class="lineNum"> 12 </span> : -<span class="lineNum"> 13 </span> : The StateCache::State field can be -1,0,1,2 which is <,=,>,no current. -<span class="lineNum"> 14 </span> : StateCache::Mode is which of the 3 fields is active. -<span class="lineNum"> 15 </span> : -<span class="lineNum"> 16 </span> : This structure is important to support the readonly status of the cache -<span class="lineNum"> 17 </span> : file. When the data is saved the cache will be refereshed from our -<span class="lineNum"> 18 </span> : internal rep and written to disk. Then the actual persistant data -<span class="lineNum"> 19 </span> : files will be put on the disk. -<span class="lineNum"> 20 </span> : -<span class="lineNum"> 21 </span> : Each dependency is compared against 3 target versions to produce to -<span class="lineNum"> 22 </span> : 3 dependency results. -<span class="lineNum"> 23 </span> : Now - Compared using the Currently install version -<span class="lineNum"> 24 </span> : Install - Compared using the install version (final state) -<span class="lineNum"> 25 </span> : CVer - (Candidate Verion) Compared using the Candidate Version -<span class="lineNum"> 26 </span> : The candidate and now results are used to decide wheather a package -<span class="lineNum"> 27 </span> : should be automatically installed or if it should be left alone. -<span class="lineNum"> 28 </span> : -<span class="lineNum"> 29 </span> : Remember, the Candidate Version is selected based on the distribution -<span class="lineNum"> 30 </span> : settings for the Package. The Install Version is selected based on the -<span class="lineNum"> 31 </span> : state (Delete, Keep, Install) field and can be either the Current Version -<span class="lineNum"> 32 </span> : or the Candidate version. -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span> : The Candidate version is what is shown the 'Install Version' field. -<span class="lineNum"> 35 </span> : -<span class="lineNum"> 36 </span> : ##################################################################### */ -<span class="lineNum"> 37 </span> : /*}}}*/ -<span class="lineNum"> 38 </span> : #ifndef PKGLIB_DEPCACHE_H -<span class="lineNum"> 39 </span> : #define PKGLIB_DEPCACHE_H -<span class="lineNum"> 40 </span> : -<span class="lineNum"> 41 </span> : -<span class="lineNum"> 42 </span> : #include <apt-pkg/pkgcache.h> -<span class="lineNum"> 43 </span> : #include <apt-pkg/progress.h> -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span> : #include <regex.h> -<span class="lineNum"> 46 </span> : -<span class="lineNum"> 47 </span> : #include <vector> -<span class="lineNum"> 48 </span> : #include <memory> -<span class="lineNum"> 49 </span> : -<span class="lineNum"> 50 </span> : class pkgDepCache : protected pkgCache::Namespace -<span class="lineNum"> 51 </span> : { -<span class="lineNum"> 52 </span> : public: -<span class="lineNum"> 53 </span> : -<span class="lineNum"> 54 </span> : /** \brief An arbitrary predicate on packages. */ -<span class="lineNum"> 55 </span> : class InRootSetFunc -<span class="lineNum"> 56 </span> : { -<span class="lineNum"> 57 </span> : public: -<span class="lineNum"> 58 </span> : virtual bool InRootSet(const pkgCache::PkgIterator &pkg) {return false;}; -<span class="lineNum"> 59 </span> : virtual ~InRootSetFunc() {}; -<span class="lineNum"> 60 </span> : }; -<span class="lineNum"> 61 </span> : -<span class="lineNum"> 62 </span> : private: -<span class="lineNum"> 63 </span> : /** \brief Mark a single package and all its unmarked important -<span class="lineNum"> 64 </span> : * dependencies during mark-and-sweep. -<span class="lineNum"> 65 </span> : * -<span class="lineNum"> 66 </span> : * Recursively invokes itself to mark all dependencies of the -<span class="lineNum"> 67 </span> : * package. -<span class="lineNum"> 68 </span> : * -<span class="lineNum"> 69 </span> : * \param pkg The package to mark. -<span class="lineNum"> 70 </span> : * -<span class="lineNum"> 71 </span> : * \param ver The version of the package that is to be marked. -<span class="lineNum"> 72 </span> : * -<span class="lineNum"> 73 </span> : * \param follow_recommends If \b true, recommendations of the -<span class="lineNum"> 74 </span> : * package will be recursively marked. -<span class="lineNum"> 75 </span> : * -<span class="lineNum"> 76 </span> : * \param follow_suggests If \b true, suggestions of the package -<span class="lineNum"> 77 </span> : * will be recursively marked. -<span class="lineNum"> 78 </span> : */ -<span class="lineNum"> 79 </span> : void MarkPackage(const pkgCache::PkgIterator &pkg, -<span class="lineNum"> 80 </span> : const pkgCache::VerIterator &ver, -<span class="lineNum"> 81 </span> : bool follow_recommends, -<span class="lineNum"> 82 </span> : bool follow_suggests); -<span class="lineNum"> 83 </span> : -<span class="lineNum"> 84 </span> : /** \brief Update the Marked field of all packages. -<span class="lineNum"> 85 </span> : * -<span class="lineNum"> 86 </span> : * Each package's StateCache::Marked field will be set to \b true -<span class="lineNum"> 87 </span> : * if and only if it can be reached from the root set. By -<span class="lineNum"> 88 </span> : * default, the root set consists of the set of manually installed -<span class="lineNum"> 89 </span> : * or essential packages, but it can be extended using the -<span class="lineNum"> 90 </span> : * parameter #rootFunc. -<span class="lineNum"> 91 </span> : * -<span class="lineNum"> 92 </span> : * \param rootFunc A callback that can be used to add extra -<span class="lineNum"> 93 </span> : * packages to the root set. -<span class="lineNum"> 94 </span> : * -<span class="lineNum"> 95 </span> : * \return \b false if an error occurred. -<span class="lineNum"> 96 </span> : */ -<span class="lineNum"> 97 </span> : bool MarkRequired(InRootSetFunc &rootFunc); -<span class="lineNum"> 98 </span> : -<span class="lineNum"> 99 </span> : /** \brief Set the StateCache::Garbage flag on all packages that -<span class="lineNum"> 100 </span> : * should be removed. -<span class="lineNum"> 101 </span> : * -<span class="lineNum"> 102 </span> : * Packages that were not marked by the last call to #MarkRequired -<span class="lineNum"> 103 </span> : * are tested to see whether they are actually garbage. If so, -<span class="lineNum"> 104 </span> : * they are marked as such. -<span class="lineNum"> 105 </span> : * -<span class="lineNum"> 106 </span> : * \return \b false if an error occurred. -<span class="lineNum"> 107 </span> : */ -<span class="lineNum"> 108 </span> : bool Sweep(); -<span class="lineNum"> 109 </span> : -<span class="lineNum"> 110 </span> : public: -<span class="lineNum"> 111 </span> : -<span class="lineNum"> 112 </span> : // These flags are used in DepState -<span class="lineNum"> 113 </span> : enum DepFlags {DepNow = (1 << 0),DepInstall = (1 << 1),DepCVer = (1 << 2), -<span class="lineNum"> 114 </span> : DepGNow = (1 << 3),DepGInstall = (1 << 4),DepGCVer = (1 << 5)}; -<span class="lineNum"> 115 </span> : -<span class="lineNum"> 116 </span> : // These flags are used in StateCache::DepState -<span class="lineNum"> 117 </span> : enum DepStateFlags {DepNowPolicy = (1 << 0), DepNowMin = (1 << 1), -<span class="lineNum"> 118 </span> : DepInstPolicy = (1 << 2), DepInstMin = (1 << 3), -<span class="lineNum"> 119 </span> : DepCandPolicy = (1 << 4), DepCandMin = (1 << 5)}; -<span class="lineNum"> 120 </span> : -<span class="lineNum"> 121 </span> : // These flags are used in StateCache::iFlags -<span class="lineNum"> 122 </span> : enum InternalFlags {AutoKept = (1 << 0), Purge = (1 << 1), ReInstall = (1 << 2)}; -<span class="lineNum"> 123 </span> : -<span class="lineNum"> 124 </span> : enum VersionTypes {NowVersion, InstallVersion, CandidateVersion}; -<span class="lineNum"> 125 </span> : enum ModeList {ModeDelete = 0, ModeKeep = 1, ModeInstall = 2}; -<span class="lineNum"> 126 </span> : -<span class="lineNum"> 127 </span> : /** \brief Represents an active action group. -<span class="lineNum"> 128 </span> : * -<span class="lineNum"> 129 </span> : * An action group is a group of actions that are currently being -<span class="lineNum"> 130 </span> : * performed. While an active group is active, certain routine -<span class="lineNum"> 131 </span> : * clean-up actions that would normally be performed after every -<span class="lineNum"> 132 </span> : * cache operation are delayed until the action group is -<span class="lineNum"> 133 </span> : * completed. This is necessary primarily to avoid inefficiencies -<span class="lineNum"> 134 </span> : * when modifying a large number of packages at once. -<span class="lineNum"> 135 </span> : * -<span class="lineNum"> 136 </span> : * This class represents an active action group. Creating an -<span class="lineNum"> 137 </span> : * instance will create an action group; destroying one will -<span class="lineNum"> 138 </span> : * destroy the corresponding action group. -<span class="lineNum"> 139 </span> : * -<span class="lineNum"> 140 </span> : * The following operations are suppressed by this class: -<span class="lineNum"> 141 </span> : * -<span class="lineNum"> 142 </span> : * - Keeping the Marked and Garbage flags up to date. -<span class="lineNum"> 143 </span> : * -<span class="lineNum"> 144 </span> : * \note This can be used in the future to easily accumulate -<span class="lineNum"> 145 </span> : * atomic actions for undo or to display "what apt did anyway"; -<span class="lineNum"> 146 </span> : * e.g., change the counter of how many action groups are active -<span class="lineNum"> 147 </span> : * to a std::set of pointers to them and use those to store -<span class="lineNum"> 148 </span> : * information about what happened in a group in the group. -<span class="lineNum"> 149 </span> : */ -<span class="lineNum"> 150 </span> : class ActionGroup -<span class="lineNum"> 151 </span> : { -<span class="lineNum"> 152 </span> : pkgDepCache &cache; -<span class="lineNum"> 153 </span> : -<span class="lineNum"> 154 </span> : bool released; -<span class="lineNum"> 155 </span> : -<span class="lineNum"> 156 </span> : /** Action groups are noncopyable. */ -<span class="lineNum"> 157 </span> : ActionGroup(const ActionGroup &other); -<span class="lineNum"> 158 </span> : public: -<span class="lineNum"> 159 </span> : /** \brief Create a new ActionGroup. -<span class="lineNum"> 160 </span> : * -<span class="lineNum"> 161 </span> : * \param cache The cache that this ActionGroup should -<span class="lineNum"> 162 </span> : * manipulate. -<span class="lineNum"> 163 </span> : * -<span class="lineNum"> 164 </span> : * As long as this object exists, no automatic cleanup -<span class="lineNum"> 165 </span> : * operations will be undertaken. -<span class="lineNum"> 166 </span> : */ -<span class="lineNum"> 167 </span> : ActionGroup(pkgDepCache &cache); -<span class="lineNum"> 168 </span> : -<span class="lineNum"> 169 </span> : /** \brief Clean up the action group before it is destroyed. -<span class="lineNum"> 170 </span> : * -<span class="lineNum"> 171 </span> : * If it is destroyed later, no second cleanup wil be run. -<span class="lineNum"> 172 </span> : */ -<span class="lineNum"> 173 </span> : void release(); -<span class="lineNum"> 174 </span> : -<span class="lineNum"> 175 </span> : /** \brief Destroy the action group. -<span class="lineNum"> 176 </span> : * -<span class="lineNum"> 177 </span> : * If this is the last action group, the automatic cache -<span class="lineNum"> 178 </span> : * cleanup operations will be undertaken. -<span class="lineNum"> 179 </span> : */ -<span class="lineNum"> 180 </span> : ~ActionGroup(); -<span class="lineNum"> 181 </span> : }; -<span class="lineNum"> 182 </span> : -<span class="lineNum"> 183 </span> : /** \brief Returns \b true for packages matching a regular -<span class="lineNum"> 184 </span> : * expression in APT::NeverAutoRemove. -<span class="lineNum"> 185 </span> : */ -<span class="lineNum"> 186 </span> : class DefaultRootSetFunc : public InRootSetFunc -<span class="lineNum"> 187 </span> : { -<span class="lineNum"> 188 </span> : std::vector<regex_t *> rootSetRegexp; -<span class="lineNum"> 189 </span> : bool constructedSuccessfully; -<span class="lineNum"> 190 </span> : -<span class="lineNum"> 191 </span> : public: -<span class="lineNum"> 192 </span> : DefaultRootSetFunc(); -<span class="lineNum"> 193 </span> : ~DefaultRootSetFunc(); -<span class="lineNum"> 194 </span> : -<span class="lineNum"> 195 </span> : /** \return \b true if the class initialized successfully, \b -<span class="lineNum"> 196 </span> : * false otherwise. Used to avoid throwing an exception, since -<span class="lineNum"> 197 </span> : * APT classes generally don't. -<span class="lineNum"> 198 </span> : */ -<span class="lineNum"> 199 </span> : bool wasConstructedSuccessfully() const { return constructedSuccessfully; } -<span class="lineNum"> 200 </span> : -<span class="lineNum"> 201 </span> : bool InRootSet(const pkgCache::PkgIterator &pkg); -<span class="lineNum"> 202 </span> : }; -<span class="lineNum"> 203 </span> : -<span class="lineNum"> 204 </span> : struct StateCache -<span class="lineNum"> 205 </span> : { -<span class="lineNum"> 206 </span> : // Epoch stripped text versions of the two version fields -<span class="lineNum"> 207 </span> : const char *CandVersion; -<span class="lineNum"> 208 </span> : const char *CurVersion; -<span class="lineNum"> 209 </span> : -<span class="lineNum"> 210 </span> : // Pointer to the candidate install version. -<span class="lineNum"> 211 </span> : Version *CandidateVer; -<span class="lineNum"> 212 </span> : -<span class="lineNum"> 213 </span> : // Pointer to the install version. -<span class="lineNum"> 214 </span> : Version *InstallVer; -<span class="lineNum"> 215 </span> : -<span class="lineNum"> 216 </span> : // Copy of Package::Flags -<span class="lineNum"> 217 </span> : unsigned short Flags; -<span class="lineNum"> 218 </span> : unsigned short iFlags; // Internal flags -<span class="lineNum"> 219 </span> : -<span class="lineNum"> 220 </span> : /** \brief \b true if this package can be reached from the root set. */ -<span class="lineNum"> 221 </span> : bool Marked; -<span class="lineNum"> 222 </span> : -<span class="lineNum"> 223 </span> : /** \brief \b true if this package is unused and should be removed. -<span class="lineNum"> 224 </span> : * -<span class="lineNum"> 225 </span> : * This differs from !#Marked, because it is possible that some -<span class="lineNum"> 226 </span> : * unreachable packages will be protected from becoming -<span class="lineNum"> 227 </span> : * garbage. -<span class="lineNum"> 228 </span> : */ -<span class="lineNum"> 229 </span> : bool Garbage; -<span class="lineNum"> 230 </span> : -<span class="lineNum"> 231 </span> : // Various tree indicators -<span class="lineNum"> 232 </span> : signed char Status; // -1,0,1,2 -<span class="lineNum"> 233 </span> : unsigned char Mode; // ModeList -<span class="lineNum"> 234 </span> : unsigned char DepState; // DepState Flags -<span class="lineNum"> 235 </span> : -<span class="lineNum"> 236 </span> : // Update of candidate version -<span class="lineNum"> 237 </span> : const char *StripEpoch(const char *Ver); -<span class="lineNum"> 238 </span> : void Update(PkgIterator Pkg,pkgCache &Cache); -<span class="lineNum"> 239 </span> : -<span class="lineNum"> 240 </span> : // Various test members for the current status of the package -<span class="lineNum"> 241 </span> : inline bool NewInstall() const {return Status == 2 && Mode == ModeInstall;}; -<span class="lineNum"> 242 </span><span class="lineCov"> 3785 : inline bool Delete() const {return Mode == ModeDelete;};</span> -<span class="lineNum"> 243 </span><span class="lineCov"> 3785 : inline bool Keep() const {return Mode == ModeKeep;};</span> -<span class="lineNum"> 244 </span> : inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;}; -<span class="lineNum"> 245 </span> : inline bool Upgradable() const {return Status >= 1;}; -<span class="lineNum"> 246 </span> : inline bool Downgrade() const {return Status < 0 && Mode == ModeInstall;}; -<span class="lineNum"> 247 </span> : inline bool Held() const {return Status != 0 && Keep();}; -<span class="lineNum"> 248 </span><span class="lineCov"> 3785 : inline bool NowBroken() const {return (DepState & DepNowMin) != DepNowMin;};</span> -<span class="lineNum"> 249 </span> : inline bool NowPolicyBroken() const {return (DepState & DepNowPolicy) != DepNowPolicy;}; -<span class="lineNum"> 250 </span><span class="lineCov"> 3785 : inline bool InstBroken() const {return (DepState & DepInstMin) != DepInstMin;};</span> -<span class="lineNum"> 251 </span> : inline bool InstPolicyBroken() const {return (DepState & DepInstPolicy) != DepInstPolicy;}; -<span class="lineNum"> 252 </span><span class="lineCov"> 3785 : inline bool Install() const {return Mode == ModeInstall;};</span> -<span class="lineNum"> 253 </span> : inline VerIterator InstVerIter(pkgCache &Cache) -<span class="lineNum"> 254 </span> : {return VerIterator(Cache,InstallVer);}; -<span class="lineNum"> 255 </span> : inline VerIterator CandidateVerIter(pkgCache &Cache) -<span class="lineNum"> 256 </span> : {return VerIterator(Cache,CandidateVer);}; -<span class="lineNum"> 257 </span> : }; -<span class="lineNum"> 258 </span> : -<span class="lineNum"> 259 </span> : // Helper functions -<span class="lineNum"> 260 </span> : void BuildGroupOrs(VerIterator const &V); -<span class="lineNum"> 261 </span> : void UpdateVerState(PkgIterator Pkg); -<span class="lineNum"> 262 </span> : -<span class="lineNum"> 263 </span> : // User Policy control -<span class="lineNum"> 264 </span> : class Policy -<span class="lineNum"> 265 </span> : { -<span class="lineNum"> 266 </span> : public: -<span class="lineNum"> 267 </span> : -<span class="lineNum"> 268 </span> : virtual VerIterator GetCandidateVer(PkgIterator Pkg); -<span class="lineNum"> 269 </span> : virtual bool IsImportantDep(DepIterator Dep); -<span class="lineNum"> 270 </span> : -<span class="lineNum"> 271 </span> : virtual ~Policy() {}; -<span class="lineNum"> 272 </span> : }; -<span class="lineNum"> 273 </span> : -<span class="lineNum"> 274 </span> : private: -<span class="lineNum"> 275 </span> : /** The number of open "action groups"; certain post-action -<span class="lineNum"> 276 </span> : * operations are suppressed if this number is > 0. -<span class="lineNum"> 277 </span> : */ -<span class="lineNum"> 278 </span> : int group_level; -<span class="lineNum"> 279 </span> : -<span class="lineNum"> 280 </span> : friend class ActionGroup; -<span class="lineNum"> 281 </span> : -<span class="lineNum"> 282 </span> : protected: -<span class="lineNum"> 283 </span> : -<span class="lineNum"> 284 </span> : // State information -<span class="lineNum"> 285 </span> : pkgCache *Cache; -<span class="lineNum"> 286 </span> : StateCache *PkgState; -<span class="lineNum"> 287 </span> : unsigned char *DepState; -<span class="lineNum"> 288 </span> : -<span class="lineNum"> 289 </span> : double iUsrSize; -<span class="lineNum"> 290 </span> : double iDownloadSize; -<span class="lineNum"> 291 </span> : unsigned long iInstCount; -<span class="lineNum"> 292 </span> : unsigned long iDelCount; -<span class="lineNum"> 293 </span> : unsigned long iKeepCount; -<span class="lineNum"> 294 </span> : unsigned long iBrokenCount; -<span class="lineNum"> 295 </span> : unsigned long iPolicyBrokenCount; -<span class="lineNum"> 296 </span> : unsigned long iBadCount; -<span class="lineNum"> 297 </span> : -<span class="lineNum"> 298 </span> : Policy *delLocalPolicy; // For memory clean up.. -<span class="lineNum"> 299 </span> : Policy *LocalPolicy; -<span class="lineNum"> 300 </span> : -<span class="lineNum"> 301 </span> : // Check for a matching provides -<span class="lineNum"> 302 </span> : bool CheckDep(DepIterator Dep,int Type,PkgIterator &Res); -<span class="lineNum"> 303 </span> : inline bool CheckDep(DepIterator Dep,int Type) -<span class="lineNum"> 304 </span> : { -<span class="lineNum"> 305 </span> : PkgIterator Res(*this,0); -<span class="lineNum"> 306 </span> : return CheckDep(Dep,Type,Res); -<span class="lineNum"> 307 </span> : } -<span class="lineNum"> 308 </span> : -<span class="lineNum"> 309 </span> : // Computes state information for deps and versions (w/o storing) -<span class="lineNum"> 310 </span> : unsigned char DependencyState(DepIterator &D); -<span class="lineNum"> 311 </span> : unsigned char VersionState(DepIterator D,unsigned char Check, -<span class="lineNum"> 312 </span> : unsigned char SetMin, -<span class="lineNum"> 313 </span> : unsigned char SetPolicy); -<span class="lineNum"> 314 </span> : -<span class="lineNum"> 315 </span> : // Recalculates various portions of the cache, call after changing something -<span class="lineNum"> 316 </span> : void Update(DepIterator Dep); // Mostly internal -<span class="lineNum"> 317 </span> : void Update(PkgIterator const &P); -<span class="lineNum"> 318 </span> : -<span class="lineNum"> 319 </span> : // Count manipulators -<span class="lineNum"> 320 </span> : void AddSizes(const PkgIterator &Pkg,signed long Mult = 1); -<span class="lineNum"> 321 </span> : inline void RemoveSizes(const PkgIterator &Pkg) {AddSizes(Pkg,-1);}; -<span class="lineNum"> 322 </span> : void AddStates(const PkgIterator &Pkg,int Add = 1); -<span class="lineNum"> 323 </span> : inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,-1);}; -<span class="lineNum"> 324 </span> : -<span class="lineNum"> 325 </span> : public: -<span class="lineNum"> 326 </span> : -<span class="lineNum"> 327 </span> : // Legacy.. We look like a pkgCache -<span class="lineNum"> 328 </span> : inline operator pkgCache &() {return *Cache;}; -<span class="lineNum"> 329 </span> : inline Header &Head() {return *Cache->HeaderP;}; -<span class="lineNum"> 330 </span> : inline PkgIterator PkgBegin() {return Cache->PkgBegin();}; -<span class="lineNum"> 331 </span> : inline PkgIterator FindPkg(string const &Name) {return Cache->FindPkg(Name);}; -<span class="lineNum"> 332 </span> : -<span class="lineNum"> 333 </span> : inline pkgCache &GetCache() {return *Cache;}; -<span class="lineNum"> 334 </span> : inline pkgVersioningSystem &VS() {return *Cache->VS;}; -<span class="lineNum"> 335 </span> : -<span class="lineNum"> 336 </span> : // Policy implementation -<span class="lineNum"> 337 </span> : inline VerIterator GetCandidateVer(PkgIterator Pkg) {return LocalPolicy->GetCandidateVer(Pkg);}; -<span class="lineNum"> 338 </span> : inline bool IsImportantDep(DepIterator Dep) {return LocalPolicy->IsImportantDep(Dep);}; -<span class="lineNum"> 339 </span> : inline Policy &GetPolicy() {return *LocalPolicy;}; -<span class="lineNum"> 340 </span> : -<span class="lineNum"> 341 </span> : // Accessors -<span class="lineNum"> 342 </span><span class="lineCov"> 3787 : inline StateCache &operator [](PkgIterator const &I) {return PkgState[I->ID];};</span> -<span class="lineNum"> 343 </span> : inline unsigned char &operator [](DepIterator const &I) {return DepState[I->ID];}; -<span class="lineNum"> 344 </span> : -<span class="lineNum"> 345 </span> : /** \return A function identifying packages in the root set other -<span class="lineNum"> 346 </span> : * than manually installed packages and essential packages, or \b -<span class="lineNum"> 347 </span> : * NULL if an error occurs. -<span class="lineNum"> 348 </span> : * -<span class="lineNum"> 349 </span> : * \todo Is this the best place for this function? Perhaps the -<span class="lineNum"> 350 </span> : * settings for mark-and-sweep should be stored in a single -<span class="lineNum"> 351 </span> : * external class? -<span class="lineNum"> 352 </span> : */ -<span class="lineNum"> 353 </span> : virtual InRootSetFunc *GetRootSetFunc(); -<span class="lineNum"> 354 </span> : -<span class="lineNum"> 355 </span> : /** \return \b true if the garbage collector should follow recommendations. -<span class="lineNum"> 356 </span> : */ -<span class="lineNum"> 357 </span> : virtual bool MarkFollowsRecommends(); -<span class="lineNum"> 358 </span> : -<span class="lineNum"> 359 </span> : /** \return \b true if the garbage collector should follow suggestions. -<span class="lineNum"> 360 </span> : */ -<span class="lineNum"> 361 </span> : virtual bool MarkFollowsSuggests(); -<span class="lineNum"> 362 </span> : -<span class="lineNum"> 363 </span> : /** \brief Update the Marked and Garbage fields of all packages. -<span class="lineNum"> 364 </span> : * -<span class="lineNum"> 365 </span> : * This routine is implicitly invoked after all state manipulators -<span class="lineNum"> 366 </span> : * and when an ActionGroup is destroyed. It invokes #MarkRequired -<span class="lineNum"> 367 </span> : * and #Sweep to do its dirty work. -<span class="lineNum"> 368 </span> : * -<span class="lineNum"> 369 </span> : * \param rootFunc A predicate that returns \b true for packages -<span class="lineNum"> 370 </span> : * that should be added to the root set. -<span class="lineNum"> 371 </span> : */ -<span class="lineNum"> 372 </span> : bool MarkAndSweep(InRootSetFunc &rootFunc) -<span class="lineNum"> 373 </span> : { -<span class="lineNum"> 374 </span> : return MarkRequired(rootFunc) && Sweep(); -<span class="lineNum"> 375 </span> : } -<span class="lineNum"> 376 </span> : -<span class="lineNum"> 377 </span> : bool MarkAndSweep() -<span class="lineNum"> 378 </span> : { -<span class="lineNum"> 379 </span> : std::auto_ptr<InRootSetFunc> f(GetRootSetFunc()); -<span class="lineNum"> 380 </span> : if(f.get() != NULL) -<span class="lineNum"> 381 </span> : return MarkAndSweep(*f.get()); -<span class="lineNum"> 382 </span> : else -<span class="lineNum"> 383 </span> : return false; -<span class="lineNum"> 384 </span> : } -<span class="lineNum"> 385 </span> : -<span class="lineNum"> 386 </span> : /** \name State Manipulators -<span class="lineNum"> 387 </span> : */ -<span class="lineNum"> 388 </span> : // @{ -<span class="lineNum"> 389 </span> : void MarkKeep(PkgIterator const &Pkg, bool Soft = false, -<span class="lineNum"> 390 </span> : bool FromUser = true); -<span class="lineNum"> 391 </span> : void MarkDelete(PkgIterator const &Pkg,bool Purge = false); -<span class="lineNum"> 392 </span> : void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true, -<span class="lineNum"> 393 </span> : unsigned long Depth = 0, bool FromUser = true, -<span class="lineNum"> 394 </span> : bool ForceImportantDeps = false); -<span class="lineNum"> 395 </span> : void SetReInstall(PkgIterator const &Pkg,bool To); -<span class="lineNum"> 396 </span> : void SetCandidateVersion(VerIterator TargetVer); -<span class="lineNum"> 397 </span> : -<span class="lineNum"> 398 </span> : /** Set the "is automatically installed" flag of Pkg. */ -<span class="lineNum"> 399 </span> : void MarkAuto(const PkgIterator &Pkg, bool Auto); -<span class="lineNum"> 400 </span> : // @} -<span class="lineNum"> 401 </span> : -<span class="lineNum"> 402 </span> : // This is for debuging -<span class="lineNum"> 403 </span> : void Update(OpProgress *Prog = 0); -<span class="lineNum"> 404 </span> : -<span class="lineNum"> 405 </span> : // read persistent states -<span class="lineNum"> 406 </span> : bool readStateFile(OpProgress *prog); -<span class="lineNum"> 407 </span> : bool writeStateFile(OpProgress *prog, bool InstalledOnly=false); -<span class="lineNum"> 408 </span> : -<span class="lineNum"> 409 </span> : // Size queries -<span class="lineNum"> 410 </span> : inline double UsrSize() {return iUsrSize;}; -<span class="lineNum"> 411 </span> : inline double DebSize() {return iDownloadSize;}; -<span class="lineNum"> 412 </span> : inline unsigned long DelCount() {return iDelCount;}; -<span class="lineNum"> 413 </span> : inline unsigned long KeepCount() {return iKeepCount;}; -<span class="lineNum"> 414 </span> : inline unsigned long InstCount() {return iInstCount;}; -<span class="lineNum"> 415 </span> : inline unsigned long BrokenCount() {return iBrokenCount;}; -<span class="lineNum"> 416 </span> : inline unsigned long PolicyBrokenCount() {return iPolicyBrokenCount;}; -<span class="lineNum"> 417 </span> : inline unsigned long BadCount() {return iBadCount;}; -<span class="lineNum"> 418 </span> : -<span class="lineNum"> 419 </span> : bool Init(OpProgress *Prog); -<span class="lineNum"> 420 </span> : -<span class="lineNum"> 421 </span> : pkgDepCache(pkgCache *Cache,Policy *Plcy = 0); -<span class="lineNum"> 422 </span> : virtual ~pkgDepCache(); -<span class="lineNum"> 423 </span> : }; -<span class="lineNum"> 424 </span> : -<span class="lineNum"> 425 </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> diff --git a/rep/usr/include/apt-pkg/error.h.gcov.html b/rep/usr/include/apt-pkg/error.h.gcov.html deleted file mode 100644 index b4b55f3..0000000 --- a/rep/usr/include/apt-pkg/error.h.gcov.html +++ /dev/null @@ -1,168 +0,0 @@ -<!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/error.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> - error.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%">2</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">50.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: error.h,v 1.8 2001/05/07 05:06:52 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : Global Erorr Class - Global error mechanism -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : This class has a single global instance. When a function needs to -<span class="lineNum"> 9 </span> : generate an error condition, such as a read error, it calls a member -<span class="lineNum"> 10 </span> : in this class to add the error to a stack of errors. -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : By using a stack the problem with a scheme like errno is removed and -<span class="lineNum"> 13 </span> : it allows a very detailed account of what went wrong to be transmitted -<span class="lineNum"> 14 </span> : to the UI for display. (Errno has problems because each function sets -<span class="lineNum"> 15 </span> : errno to 0 if it didn't have an error thus eraseing erno in the process -<span class="lineNum"> 16 </span> : of cleanup) -<span class="lineNum"> 17 </span> : -<span class="lineNum"> 18 </span> : Several predefined error generators are provided to handle common -<span class="lineNum"> 19 </span> : things like errno. The general idea is that all methods return a bool. -<span class="lineNum"> 20 </span> : If the bool is true then things are OK, if it is false then things -<span class="lineNum"> 21 </span> : should start being undone and the stack should unwind under program -<span class="lineNum"> 22 </span> : control. -<span class="lineNum"> 23 </span> : -<span class="lineNum"> 24 </span> : A Warning should not force the return of false. Things did not fail, but -<span class="lineNum"> 25 </span> : they might have had unexpected problems. Errors are stored in a FIFO -<span class="lineNum"> 26 </span> : so Pop will return the first item.. -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span> : I have some thoughts about extending this into a more general UI<-> -<span class="lineNum"> 29 </span> : Engine interface, ie allowing the Engine to say 'The disk is full' in -<span class="lineNum"> 30 </span> : a dialog that says 'Panic' and 'Retry'.. The error generator functions -<span class="lineNum"> 31 </span> : like errno, Warning and Error return false always so this is normal: -<span class="lineNum"> 32 </span> : if (open(..)) -<span class="lineNum"> 33 </span> : return _error->Errno(..); -<span class="lineNum"> 34 </span> : -<span class="lineNum"> 35 </span> : This source is placed in the Public Domain, do with it what you will -<span class="lineNum"> 36 </span> : It was originally written by Jason Gunthorpe. -<span class="lineNum"> 37 </span> : -<span class="lineNum"> 38 </span> : ##################################################################### */ -<span class="lineNum"> 39 </span> : /*}}}*/ -<span class="lineNum"> 40 </span> : #ifndef PKGLIB_ERROR_H -<span class="lineNum"> 41 </span> : #define PKGLIB_ERROR_H -<span class="lineNum"> 42 </span> : -<span class="lineNum"> 43 </span> : -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span> : #ifdef __GNUG__ -<span class="lineNum"> 46 </span> : // Methods have a hidden this parameter that is visible to this attribute -<span class="lineNum"> 47 </span> : #define APT_MFORMAT1 __attribute__ ((format (printf, 2, 3))) -<span class="lineNum"> 48 </span> : #define APT_MFORMAT2 __attribute__ ((format (printf, 3, 4))) -<span class="lineNum"> 49 </span> : #else -<span class="lineNum"> 50 </span> : #define APT_MFORMAT1 -<span class="lineNum"> 51 </span> : #define APT_MFORMAT2 -<span class="lineNum"> 52 </span> : #endif -<span class="lineNum"> 53 </span> : -<span class="lineNum"> 54 </span> : #include <string> -<span class="lineNum"> 55 </span> : -<span class="lineNum"> 56 </span> : using std::string; -<span class="lineNum"> 57 </span> : -<span class="lineNum"> 58 </span> : class GlobalError -<span class="lineNum"> 59 </span> : { -<span class="lineNum"> 60 </span> : struct Item -<span class="lineNum"> 61 </span> : { -<span class="lineNum"> 62 </span> : string Text; -<span class="lineNum"> 63 </span> : bool Error; -<span class="lineNum"> 64 </span> : Item *Next; -<span class="lineNum"> 65 </span> : }; -<span class="lineNum"> 66 </span> : -<span class="lineNum"> 67 </span> : Item *List; -<span class="lineNum"> 68 </span> : bool PendingFlag; -<span class="lineNum"> 69 </span> : void Insert(Item *I); -<span class="lineNum"> 70 </span> : -<span class="lineNum"> 71 </span> : public: -<span class="lineNum"> 72 </span> : -<span class="lineNum"> 73 </span> : // Call to generate an error from a library call. -<span class="lineNum"> 74 </span> : bool Errno(const char *Function,const char *Description,...) APT_MFORMAT2; -<span class="lineNum"> 75 </span> : bool WarningE(const char *Function,const char *Description,...) APT_MFORMAT2; -<span class="lineNum"> 76 </span> : -<span class="lineNum"> 77 </span> : /* A warning should be considered less severe than an error, and may be -<span class="lineNum"> 78 </span> : ignored by the client. */ -<span class="lineNum"> 79 </span> : bool Error(const char *Description,...) APT_MFORMAT1; -<span class="lineNum"> 80 </span> : bool Warning(const char *Description,...) APT_MFORMAT1; -<span class="lineNum"> 81 </span> : -<span class="lineNum"> 82 </span> : // Simple accessors -<span class="lineNum"> 83 </span><span class="lineCov"> 3 : inline bool PendingError() {return PendingFlag;};</span> -<span class="lineNum"> 84 </span><span class="lineNoCov"> 0 : inline bool empty() {return List == 0;};</span> -<span class="lineNum"> 85 </span> : bool PopMessage(string &Text); -<span class="lineNum"> 86 </span> : void Discard(); -<span class="lineNum"> 87 </span> : -<span class="lineNum"> 88 </span> : // Usefull routine to dump to cerr -<span class="lineNum"> 89 </span> : void DumpErrors(); -<span class="lineNum"> 90 </span> : -<span class="lineNum"> 91 </span> : GlobalError(); -<span class="lineNum"> 92 </span> : }; -<span class="lineNum"> 93 </span> : -<span class="lineNum"> 94 </span> : // The 'extra-ansi' syntax is used to help with collisions. -<span class="lineNum"> 95 </span> : GlobalError *_GetErrorObj(); -<span class="lineNum"> 96 </span> : #define _error _GetErrorObj() -<span class="lineNum"> 97 </span> : -<span class="lineNum"> 98 </span> : #undef APT_MFORMAT1 -<span class="lineNum"> 99 </span> : #undef APT_MFORMAT2 -<span class="lineNum"> 100 </span> : -<span class="lineNum"> 101 </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> diff --git a/rep/usr/include/apt-pkg/fileutl.h.gcov.html b/rep/usr/include/apt-pkg/fileutl.h.gcov.html deleted file mode 100644 index 9726c50..0000000 --- a/rep/usr/include/apt-pkg/fileutl.h.gcov.html +++ /dev/null @@ -1,165 +0,0 @@ -<!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/fileutl.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> - fileutl.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%">6</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%">6</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: fileutl.h,v 1.26 2001/05/07 05:06:52 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : File Utilities -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : CopyFile - Buffered copy of a single file -<span class="lineNum"> 9 </span> : GetLock - dpkg compatible lock file manipulation (fcntl) -<span class="lineNum"> 10 </span> : FileExists - Returns true if the file exists -<span class="lineNum"> 11 </span> : SafeGetCWD - Returns the CWD in a string with overrun protection -<span class="lineNum"> 12 </span> : -<span class="lineNum"> 13 </span> : The file class is a handy abstraction for various functions+classes -<span class="lineNum"> 14 </span> : that need to accept filenames. -<span class="lineNum"> 15 </span> : -<span class="lineNum"> 16 </span> : This source is placed in the Public Domain, do with it what you will -<span class="lineNum"> 17 </span> : It was originally written by Jason Gunthorpe. -<span class="lineNum"> 18 </span> : -<span class="lineNum"> 19 </span> : ##################################################################### */ -<span class="lineNum"> 20 </span> : /*}}}*/ -<span class="lineNum"> 21 </span> : #ifndef PKGLIB_FILEUTL_H -<span class="lineNum"> 22 </span> : #define PKGLIB_FILEUTL_H -<span class="lineNum"> 23 </span> : -<span class="lineNum"> 24 </span> : -<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 FileFd -<span class="lineNum"> 30 </span> : { -<span class="lineNum"> 31 </span> : protected: -<span class="lineNum"> 32 </span> : int iFd; -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span> : enum LocalFlags {AutoClose = (1<<0),Fail = (1<<1),DelOnFail = (1<<2), -<span class="lineNum"> 35 </span> : HitEof = (1<<3)}; -<span class="lineNum"> 36 </span> : unsigned long Flags; -<span class="lineNum"> 37 </span> : string FileName; -<span class="lineNum"> 38 </span> : -<span class="lineNum"> 39 </span> : public: -<span class="lineNum"> 40 </span> : enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp}; -<span class="lineNum"> 41 </span> : -<span class="lineNum"> 42 </span> : inline bool Read(void *To,unsigned long Size,bool AllowEof) -<span class="lineNum"> 43 </span> : { -<span class="lineNum"> 44 </span> : unsigned long Jnk; -<span class="lineNum"> 45 </span> : if (AllowEof) -<span class="lineNum"> 46 </span> : return Read(To,Size,&Jnk); -<span class="lineNum"> 47 </span> : return Read(To,Size); -<span class="lineNum"> 48 </span> : } -<span class="lineNum"> 49 </span> : bool Read(void *To,unsigned long Size,unsigned long *Actual = 0); -<span class="lineNum"> 50 </span> : bool Write(const void *From,unsigned long Size); -<span class="lineNum"> 51 </span> : bool Seek(unsigned long To); -<span class="lineNum"> 52 </span> : bool Skip(unsigned long To); -<span class="lineNum"> 53 </span> : bool Truncate(unsigned long To); -<span class="lineNum"> 54 </span> : unsigned long Tell(); -<span class="lineNum"> 55 </span> : unsigned long Size(); -<span class="lineNum"> 56 </span> : bool Open(string FileName,OpenMode Mode,unsigned long Perms = 0666); -<span class="lineNum"> 57 </span> : bool Close(); -<span class="lineNum"> 58 </span> : bool Sync(); -<span class="lineNum"> 59 </span> : -<span class="lineNum"> 60 </span> : // Simple manipulators -<span class="lineNum"> 61 </span> : inline int Fd() {return iFd;}; -<span class="lineNum"> 62 </span> : inline void Fd(int fd) {iFd = fd;}; -<span class="lineNum"> 63 </span><span class="lineCov"> 32 : inline bool IsOpen() {return iFd >= 0;};</span> -<span class="lineNum"> 64 </span> : inline bool Failed() {return (Flags & Fail) == Fail;}; -<span class="lineNum"> 65 </span> : inline void EraseOnFailure() {Flags |= DelOnFail;}; -<span class="lineNum"> 66 </span> : inline void OpFail() {Flags |= Fail;}; -<span class="lineNum"> 67 </span> : inline bool Eof() {return (Flags & HitEof) == HitEof;}; -<span class="lineNum"> 68 </span> : inline string &Name() {return FileName;}; -<span class="lineNum"> 69 </span> : -<span class="lineNum"> 70 </span><span class="lineCov"> 53 : FileFd(string FileName,OpenMode Mode,unsigned long Perms = 0666) : iFd(-1), </span> -<span class="lineNum"> 71 </span><span class="lineCov"> 53 : Flags(0) </span> -<span class="lineNum"> 72 </span> : { -<span class="lineNum"> 73 </span><span class="lineCov"> 53 : Open(FileName,Mode,Perms);</span> -<span class="lineNum"> 74 </span><span class="lineCov"> 53 : };</span> -<span class="lineNum"> 75 </span><span class="lineCov"> 15 : FileFd(int Fd = -1) : iFd(Fd), Flags(AutoClose) {};</span> -<span class="lineNum"> 76 </span> : FileFd(int Fd,bool) : iFd(Fd), Flags(0) {}; -<span class="lineNum"> 77 </span> : virtual ~FileFd(); -<span class="lineNum"> 78 </span> : }; -<span class="lineNum"> 79 </span> : -<span class="lineNum"> 80 </span> : bool RunScripts(const char *Cnf); -<span class="lineNum"> 81 </span> : bool CopyFile(FileFd &From,FileFd &To); -<span class="lineNum"> 82 </span> : int GetLock(string File,bool Errors = true); -<span class="lineNum"> 83 </span> : bool FileExists(string File); -<span class="lineNum"> 84 </span> : string SafeGetCWD(); -<span class="lineNum"> 85 </span> : void SetCloseExec(int Fd,bool Close); -<span class="lineNum"> 86 </span> : void SetNonBlock(int Fd,bool Block); -<span class="lineNum"> 87 </span> : bool WaitFd(int Fd,bool write = false,unsigned long timeout = 0); -<span class="lineNum"> 88 </span> : pid_t ExecFork(); -<span class="lineNum"> 89 </span> : bool ExecWait(pid_t Pid,const char *Name,bool Reap = false); -<span class="lineNum"> 90 </span> : -<span class="lineNum"> 91 </span> : // File string manipulators -<span class="lineNum"> 92 </span> : string flNotDir(string File); -<span class="lineNum"> 93 </span> : string flNotFile(string File); -<span class="lineNum"> 94 </span> : string flNoLink(string File); -<span class="lineNum"> 95 </span> : string flExtension(string File); -<span class="lineNum"> 96 </span> : string flCombine(string Dir,string File); -<span class="lineNum"> 97 </span> : -<span class="lineNum"> 98 </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> diff --git a/rep/usr/include/apt-pkg/index.html b/rep/usr/include/apt-pkg/index.html deleted file mode 100644 index 659d250..0000000 --- a/rep/usr/include/apt-pkg/index.html +++ /dev/null @@ -1,164 +0,0 @@ -<!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</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> - /usr/include/apt-pkg</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%">80</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">86.2 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">69</td> - </tr> - </table> - </td> - </tr> - <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr> - </table> - - <center> - <table width="80%" cellpadding=2 cellspacing=1 border=0> - - <tr> - <td width="50%"><br></td> - <td width="15%"></td> - <td width="15%"></td> - <td width="20%"></td> - </tr> - - <tr> - <td class="tableHead">Filename</td> - <td class="tableHead" colspan=3>Coverage</td> - </tr> - - <tr> - <td class="coverFile"><a href="acquire.h.gcov.html">acquire.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table> - </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 5 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="algorithms.h.gcov.html">algorithms.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=67 height=10 alt="66.7%"><img src="../../../snow.png" width=33 height=10 alt="66.7%"></td></tr></table> - </td> - <td class="coverPerHi">66.7 %</td> - <td class="coverNumHi">2 / 3 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="cachefile.h.gcov.html">cachefile.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="cacheiterators.h.gcov.html">cacheiterators.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=92 height=10 alt="92.2%"><img src="../../../snow.png" width=8 height=10 alt="92.2%"></td></tr></table> - </td> - <td class="coverPerHi">92.2 %</td> - <td class="coverNumHi">47 / 51 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="depcache.h.gcov.html">depcache.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="error.h.gcov.html">error.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=50 height=10 alt="50.0%"><img src="../../../snow.png" width=50 height=10 alt="50.0%"></td></tr></table> - </td> - <td class="coverPerHi">50.0 %</td> - <td class="coverNumHi">1 / 2 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="fileutl.h.gcov.html">fileutl.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="pkgcache.h.gcov.html">pkgcache.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="progress.h.gcov.html">progress.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="version.h.gcov.html">version.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1 lines</td> - </tr> - - </table> - </center> - <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">LTP GCOV extension version 1.6</a></td></tr> - </table> - <br> - -</body> -</html> diff --git a/rep/usr/include/apt-pkg/pkgcache.h.gcov.html b/rep/usr/include/apt-pkg/pkgcache.h.gcov.html deleted file mode 100644 index aeda4f5..0000000 --- a/rep/usr/include/apt-pkg/pkgcache.h.gcov.html +++ /dev/null @@ -1,422 +0,0 @@ -<!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/pkgcache.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> - pkgcache.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%">2</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%">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: pkgcache.h,v 1.25 2001/07/01 22:28:24 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : Cache - Structure definitions for the cache file -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : Please see doc/apt-pkg/cache.sgml for a more detailed description of -<span class="lineNum"> 9 </span> : this format. Also be sure to keep that file up-to-date!! -<span class="lineNum"> 10 </span> : -<span class="lineNum"> 11 </span> : Clients should always use the CacheIterators classes for access to the -<span class="lineNum"> 12 </span> : cache. They provide a simple STL-like method for traversing the links -<span class="lineNum"> 13 </span> : of the datastructure. -<span class="lineNum"> 14 </span> : -<span class="lineNum"> 15 </span> : See pkgcachegen.h for information about generating cache structures. -<span class="lineNum"> 16 </span> : -<span class="lineNum"> 17 </span> : ##################################################################### */ -<span class="lineNum"> 18 </span> : /*}}}*/ -<span class="lineNum"> 19 </span> : #ifndef PKGLIB_PKGCACHE_H -<span class="lineNum"> 20 </span> : #define PKGLIB_PKGCACHE_H -<span class="lineNum"> 21 </span> : -<span class="lineNum"> 22 </span> : -<span class="lineNum"> 23 </span> : #include <string> -<span class="lineNum"> 24 </span> : #include <time.h> -<span class="lineNum"> 25 </span> : #include <apt-pkg/mmap.h> -<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> : class pkgCache -<span class="lineNum"> 31 </span> : { -<span class="lineNum"> 32 </span> : public: -<span class="lineNum"> 33 </span> : // Cache element predeclarations -<span class="lineNum"> 34 </span> : struct Header; -<span class="lineNum"> 35 </span> : struct Package; -<span class="lineNum"> 36 </span> : struct PackageFile; -<span class="lineNum"> 37 </span> : struct Version; -<span class="lineNum"> 38 </span> : struct Description; -<span class="lineNum"> 39 </span> : struct Provides; -<span class="lineNum"> 40 </span> : struct Dependency; -<span class="lineNum"> 41 </span> : struct StringItem; -<span class="lineNum"> 42 </span> : struct VerFile; -<span class="lineNum"> 43 </span> : struct DescFile; -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span> : // Iterators -<span class="lineNum"> 46 </span> : class PkgIterator; -<span class="lineNum"> 47 </span> : class VerIterator; -<span class="lineNum"> 48 </span> : class DescIterator; -<span class="lineNum"> 49 </span> : class DepIterator; -<span class="lineNum"> 50 </span> : class PrvIterator; -<span class="lineNum"> 51 </span> : class PkgFileIterator; -<span class="lineNum"> 52 </span> : class VerFileIterator; -<span class="lineNum"> 53 </span> : class DescFileIterator; -<span class="lineNum"> 54 </span> : friend class PkgIterator; -<span class="lineNum"> 55 </span> : friend class VerIterator; -<span class="lineNum"> 56 </span> : friend class DescInterator; -<span class="lineNum"> 57 </span> : friend class DepIterator; -<span class="lineNum"> 58 </span> : friend class PrvIterator; -<span class="lineNum"> 59 </span> : friend class PkgFileIterator; -<span class="lineNum"> 60 </span> : friend class VerFileIterator; -<span class="lineNum"> 61 </span> : friend class DescFileIterator; -<span class="lineNum"> 62 </span> : -<span class="lineNum"> 63 </span> : class Namespace; -<span class="lineNum"> 64 </span> : -<span class="lineNum"> 65 </span> : // These are all the constants used in the cache structures -<span class="lineNum"> 66 </span> : -<span class="lineNum"> 67 </span> : // WARNING - if you change these lists you must also edit -<span class="lineNum"> 68 </span> : // the stringification in pkgcache.cc and also consider whether -<span class="lineNum"> 69 </span> : // the cache file will become incompatible. -<span class="lineNum"> 70 </span> : struct Dep -<span class="lineNum"> 71 </span> : { -<span class="lineNum"> 72 </span> : enum DepType {Depends=1,PreDepends=2,Suggests=3,Recommends=4, -<span class="lineNum"> 73 </span> : Conflicts=5,Replaces=6,Obsoletes=7,DpkgBreaks=8}; -<span class="lineNum"> 74 </span> : enum DepCompareOp {Or=0x10,NoOp=0,LessEq=0x1,GreaterEq=0x2,Less=0x3, -<span class="lineNum"> 75 </span> : Greater=0x4,Equals=0x5,NotEquals=0x6}; -<span class="lineNum"> 76 </span> : }; -<span class="lineNum"> 77 </span> : -<span class="lineNum"> 78 </span> : struct State -<span class="lineNum"> 79 </span> : { -<span class="lineNum"> 80 </span> : enum VerPriority {Important=1,Required=2,Standard=3,Optional=4,Extra=5}; -<span class="lineNum"> 81 </span> : enum PkgSelectedState {Unknown=0,Install=1,Hold=2,DeInstall=3,Purge=4}; -<span class="lineNum"> 82 </span> : enum PkgInstState {Ok=0,ReInstReq=1,HoldInst=2,HoldReInstReq=3}; -<span class="lineNum"> 83 </span> : enum PkgCurrentState {NotInstalled=0,UnPacked=1,HalfConfigured=2, -<span class="lineNum"> 84 </span> : HalfInstalled=4,ConfigFiles=5,Installed=6, -<span class="lineNum"> 85 </span> : TriggersAwaited=7,TriggersPending=8}; -<span class="lineNum"> 86 </span> : }; -<span class="lineNum"> 87 </span> : -<span class="lineNum"> 88 </span> : struct Flag -<span class="lineNum"> 89 </span> : { -<span class="lineNum"> 90 </span> : enum PkgFlags {Auto=(1<<0),Essential=(1<<3),Important=(1<<4)}; -<span class="lineNum"> 91 </span> : enum PkgFFlags {NotSource=(1<<0),NotAutomatic=(1<<1)}; -<span class="lineNum"> 92 </span> : }; -<span class="lineNum"> 93 </span> : -<span class="lineNum"> 94 </span> : protected: -<span class="lineNum"> 95 </span> : -<span class="lineNum"> 96 </span> : // Memory mapped cache file -<span class="lineNum"> 97 </span> : string CacheFile; -<span class="lineNum"> 98 </span> : MMap &Map; -<span class="lineNum"> 99 </span> : -<span class="lineNum"> 100 </span> : unsigned long sHash(const string &S) const; -<span class="lineNum"> 101 </span> : unsigned long sHash(const char *S) const; -<span class="lineNum"> 102 </span> : -<span class="lineNum"> 103 </span> : public: -<span class="lineNum"> 104 </span> : -<span class="lineNum"> 105 </span> : // Pointers to the arrays of items -<span class="lineNum"> 106 </span> : Header *HeaderP; -<span class="lineNum"> 107 </span> : Package *PkgP; -<span class="lineNum"> 108 </span> : VerFile *VerFileP; -<span class="lineNum"> 109 </span> : DescFile *DescFileP; -<span class="lineNum"> 110 </span> : PackageFile *PkgFileP; -<span class="lineNum"> 111 </span> : Version *VerP; -<span class="lineNum"> 112 </span> : Description *DescP; -<span class="lineNum"> 113 </span> : Provides *ProvideP; -<span class="lineNum"> 114 </span> : Dependency *DepP; -<span class="lineNum"> 115 </span> : StringItem *StringItemP; -<span class="lineNum"> 116 </span> : char *StrP; -<span class="lineNum"> 117 </span> : -<span class="lineNum"> 118 </span> : virtual bool ReMap(); -<span class="lineNum"> 119 </span> : inline bool Sync() {return Map.Sync();}; -<span class="lineNum"> 120 </span> : inline MMap &GetMap() {return Map;}; -<span class="lineNum"> 121 </span> : inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();}; -<span class="lineNum"> 122 </span> : -<span class="lineNum"> 123 </span> : // String hashing function (512 range) -<span class="lineNum"> 124 </span> : inline unsigned long Hash(const string &S) const {return sHash(S);}; -<span class="lineNum"> 125 </span> : inline unsigned long Hash(const char *S) const {return sHash(S);}; -<span class="lineNum"> 126 </span> : -<span class="lineNum"> 127 </span> : // Usefull transformation things -<span class="lineNum"> 128 </span> : const char *Priority(unsigned char Priority); -<span class="lineNum"> 129 </span> : -<span class="lineNum"> 130 </span> : // Accessors -<span class="lineNum"> 131 </span> : PkgIterator FindPkg(const string &Name); -<span class="lineNum"> 132 </span> : Header &Head() {return *HeaderP;}; -<span class="lineNum"> 133 </span> : inline PkgIterator PkgBegin(); -<span class="lineNum"> 134 </span> : inline PkgIterator PkgEnd(); -<span class="lineNum"> 135 </span> : inline PkgFileIterator FileBegin(); -<span class="lineNum"> 136 </span> : inline PkgFileIterator FileEnd(); -<span class="lineNum"> 137 </span> : -<span class="lineNum"> 138 </span> : // Make me a function -<span class="lineNum"> 139 </span> : pkgVersioningSystem *VS; -<span class="lineNum"> 140 </span> : -<span class="lineNum"> 141 </span> : // Converters -<span class="lineNum"> 142 </span> : static const char *CompTypeDeb(unsigned char Comp); -<span class="lineNum"> 143 </span> : static const char *CompType(unsigned char Comp); -<span class="lineNum"> 144 </span> : static const char *DepType(unsigned char Dep); -<span class="lineNum"> 145 </span> : -<span class="lineNum"> 146 </span> : pkgCache(MMap *Map,bool DoMap = true); -<span class="lineNum"> 147 </span> : virtual ~pkgCache() {}; -<span class="lineNum"> 148 </span> : }; -<span class="lineNum"> 149 </span> : -<span class="lineNum"> 150 </span> : // Header structure -<span class="lineNum"> 151 </span> : struct pkgCache::Header -<span class="lineNum"> 152 </span> : { -<span class="lineNum"> 153 </span> : // Signature information -<span class="lineNum"> 154 </span> : unsigned long Signature; -<span class="lineNum"> 155 </span> : short MajorVersion; -<span class="lineNum"> 156 </span> : short MinorVersion; -<span class="lineNum"> 157 </span> : bool Dirty; -<span class="lineNum"> 158 </span> : -<span class="lineNum"> 159 </span> : // Size of structure values -<span class="lineNum"> 160 </span> : unsigned short HeaderSz; -<span class="lineNum"> 161 </span> : unsigned short PackageSz; -<span class="lineNum"> 162 </span> : unsigned short PackageFileSz; -<span class="lineNum"> 163 </span> : unsigned short VersionSz; -<span class="lineNum"> 164 </span> : unsigned short DescriptionSz; -<span class="lineNum"> 165 </span> : unsigned short DependencySz; -<span class="lineNum"> 166 </span> : unsigned short ProvidesSz; -<span class="lineNum"> 167 </span> : unsigned short VerFileSz; -<span class="lineNum"> 168 </span> : unsigned short DescFileSz; -<span class="lineNum"> 169 </span> : -<span class="lineNum"> 170 </span> : // Structure counts -<span class="lineNum"> 171 </span> : unsigned long PackageCount; -<span class="lineNum"> 172 </span> : unsigned long VersionCount; -<span class="lineNum"> 173 </span> : unsigned long DescriptionCount; -<span class="lineNum"> 174 </span> : unsigned long DependsCount; -<span class="lineNum"> 175 </span> : unsigned long PackageFileCount; -<span class="lineNum"> 176 </span> : unsigned long VerFileCount; -<span class="lineNum"> 177 </span> : unsigned long DescFileCount; -<span class="lineNum"> 178 </span> : unsigned long ProvidesCount; -<span class="lineNum"> 179 </span> : -<span class="lineNum"> 180 </span> : // Offsets -<span class="lineNum"> 181 </span> : map_ptrloc FileList; // struct PackageFile -<span class="lineNum"> 182 </span> : map_ptrloc StringList; // struct StringItem -<span class="lineNum"> 183 </span> : map_ptrloc VerSysName; // StringTable -<span class="lineNum"> 184 </span> : map_ptrloc Architecture; // StringTable -<span class="lineNum"> 185 </span> : unsigned long MaxVerFileSize; -<span class="lineNum"> 186 </span> : unsigned long MaxDescFileSize; -<span class="lineNum"> 187 </span> : -<span class="lineNum"> 188 </span> : /* Allocation pools, there should be one of these for each structure -<span class="lineNum"> 189 </span> : excluding the header */ -<span class="lineNum"> 190 </span> : DynamicMMap::Pool Pools[8]; -<span class="lineNum"> 191 </span> : -<span class="lineNum"> 192 </span> : // Rapid package name lookup -<span class="lineNum"> 193 </span> : map_ptrloc HashTable[2*1048]; -<span class="lineNum"> 194 </span> : -<span class="lineNum"> 195 </span> : bool CheckSizes(Header &Against) const; -<span class="lineNum"> 196 </span> : Header(); -<span class="lineNum"> 197 </span> : }; -<span class="lineNum"> 198 </span> : -<span class="lineNum"> 199 </span> : struct pkgCache::Package -<span class="lineNum"> 200 </span> : { -<span class="lineNum"> 201 </span> : // Pointers -<span class="lineNum"> 202 </span> : map_ptrloc Name; // Stringtable -<span class="lineNum"> 203 </span> : map_ptrloc VersionList; // Version -<span class="lineNum"> 204 </span> : map_ptrloc CurrentVer; // Version -<span class="lineNum"> 205 </span> : map_ptrloc Section; // StringTable (StringItem) -<span class="lineNum"> 206 </span> : -<span class="lineNum"> 207 </span> : // Linked list -<span class="lineNum"> 208 </span> : map_ptrloc NextPackage; // Package -<span class="lineNum"> 209 </span> : map_ptrloc RevDepends; // Dependency -<span class="lineNum"> 210 </span> : map_ptrloc ProvidesList; // Provides -<span class="lineNum"> 211 </span> : -<span class="lineNum"> 212 </span> : // Install/Remove/Purge etc -<span class="lineNum"> 213 </span> : unsigned char SelectedState; // What -<span class="lineNum"> 214 </span> : unsigned char InstState; // Flags -<span class="lineNum"> 215 </span> : unsigned char CurrentState; // State -<span class="lineNum"> 216 </span> : -<span class="lineNum"> 217 </span> : unsigned short ID; -<span class="lineNum"> 218 </span> : unsigned long Flags; -<span class="lineNum"> 219 </span> : }; -<span class="lineNum"> 220 </span> : -<span class="lineNum"> 221 </span> : struct pkgCache::PackageFile -<span class="lineNum"> 222 </span> : { -<span class="lineNum"> 223 </span> : // Names -<span class="lineNum"> 224 </span> : map_ptrloc FileName; // Stringtable -<span class="lineNum"> 225 </span> : map_ptrloc Archive; // Stringtable -<span class="lineNum"> 226 </span> : map_ptrloc Component; // Stringtable -<span class="lineNum"> 227 </span> : map_ptrloc Version; // Stringtable -<span class="lineNum"> 228 </span> : map_ptrloc Origin; // Stringtable -<span class="lineNum"> 229 </span> : map_ptrloc Label; // Stringtable -<span class="lineNum"> 230 </span> : map_ptrloc Architecture; // Stringtable -<span class="lineNum"> 231 </span> : map_ptrloc Site; // Stringtable -<span class="lineNum"> 232 </span> : map_ptrloc IndexType; // Stringtable -<span class="lineNum"> 233 </span> : unsigned long Size; -<span class="lineNum"> 234 </span> : unsigned long Flags; -<span class="lineNum"> 235 </span> : -<span class="lineNum"> 236 </span> : // Linked list -<span class="lineNum"> 237 </span> : map_ptrloc NextFile; // PackageFile -<span class="lineNum"> 238 </span> : unsigned short ID; -<span class="lineNum"> 239 </span> : time_t mtime; // Modification time for the file -<span class="lineNum"> 240 </span> : }; -<span class="lineNum"> 241 </span> : -<span class="lineNum"> 242 </span> : struct pkgCache::VerFile -<span class="lineNum"> 243 </span> : { -<span class="lineNum"> 244 </span> : map_ptrloc File; // PackageFile -<span class="lineNum"> 245 </span> : map_ptrloc NextFile; // PkgVerFile -<span class="lineNum"> 246 </span> : map_ptrloc Offset; // File offset -<span class="lineNum"> 247 </span> : unsigned short Size; -<span class="lineNum"> 248 </span> : }; -<span class="lineNum"> 249 </span> : -<span class="lineNum"> 250 </span> : struct pkgCache::DescFile -<span class="lineNum"> 251 </span> : { -<span class="lineNum"> 252 </span> : map_ptrloc File; // PackageFile -<span class="lineNum"> 253 </span> : map_ptrloc NextFile; // PkgVerFile -<span class="lineNum"> 254 </span> : map_ptrloc Offset; // File offset -<span class="lineNum"> 255 </span> : unsigned short Size; -<span class="lineNum"> 256 </span> : }; -<span class="lineNum"> 257 </span> : -<span class="lineNum"> 258 </span> : struct pkgCache::Version -<span class="lineNum"> 259 </span> : { -<span class="lineNum"> 260 </span> : map_ptrloc VerStr; // Stringtable -<span class="lineNum"> 261 </span> : map_ptrloc Section; // StringTable (StringItem) -<span class="lineNum"> 262 </span> : map_ptrloc Arch; // StringTable -<span class="lineNum"> 263 </span> : -<span class="lineNum"> 264 </span> : // Lists -<span class="lineNum"> 265 </span> : map_ptrloc FileList; // VerFile -<span class="lineNum"> 266 </span> : map_ptrloc NextVer; // Version -<span class="lineNum"> 267 </span> : map_ptrloc DescriptionList; // Description -<span class="lineNum"> 268 </span> : map_ptrloc DependsList; // Dependency -<span class="lineNum"> 269 </span> : map_ptrloc ParentPkg; // Package -<span class="lineNum"> 270 </span> : map_ptrloc ProvidesList; // Provides -<span class="lineNum"> 271 </span> : -<span class="lineNum"> 272 </span> : map_ptrloc Size; // These are the .deb size -<span class="lineNum"> 273 </span> : map_ptrloc InstalledSize; -<span class="lineNum"> 274 </span> : unsigned short Hash; -<span class="lineNum"> 275 </span> : unsigned short ID; -<span class="lineNum"> 276 </span> : unsigned char Priority; -<span class="lineNum"> 277 </span> : }; -<span class="lineNum"> 278 </span> : -<span class="lineNum"> 279 </span> : struct pkgCache::Description -<span class="lineNum"> 280 </span> : { -<span class="lineNum"> 281 </span> : // Language Code store the description translation language code. If -<span class="lineNum"> 282 </span> : // the value has a 0 lenght then this is readed using the Package -<span class="lineNum"> 283 </span> : // file else the Translation-CODE are used. -<span class="lineNum"> 284 </span> : map_ptrloc language_code; // StringTable -<span class="lineNum"> 285 </span> : map_ptrloc md5sum; // StringTable -<span class="lineNum"> 286 </span> : -<span class="lineNum"> 287 </span> : // Linked list -<span class="lineNum"> 288 </span> : map_ptrloc FileList; // DescFile -<span class="lineNum"> 289 </span> : map_ptrloc NextDesc; // Description -<span class="lineNum"> 290 </span> : map_ptrloc ParentPkg; // Package -<span class="lineNum"> 291 </span> : -<span class="lineNum"> 292 </span> : unsigned short ID; -<span class="lineNum"> 293 </span> : }; -<span class="lineNum"> 294 </span> : -<span class="lineNum"> 295 </span> : struct pkgCache::Dependency -<span class="lineNum"> 296 </span> : { -<span class="lineNum"> 297 </span> : map_ptrloc Version; // Stringtable -<span class="lineNum"> 298 </span> : map_ptrloc Package; // Package -<span class="lineNum"> 299 </span> : map_ptrloc NextDepends; // Dependency -<span class="lineNum"> 300 </span> : map_ptrloc NextRevDepends; // Dependency -<span class="lineNum"> 301 </span> : map_ptrloc ParentVer; // Version -<span class="lineNum"> 302 </span> : -<span class="lineNum"> 303 </span> : // Specific types of depends -<span class="lineNum"> 304 </span> : map_ptrloc ID; -<span class="lineNum"> 305 </span> : unsigned char Type; -<span class="lineNum"> 306 </span> : unsigned char CompareOp; -<span class="lineNum"> 307 </span> : }; -<span class="lineNum"> 308 </span> : -<span class="lineNum"> 309 </span> : struct pkgCache::Provides -<span class="lineNum"> 310 </span> : { -<span class="lineNum"> 311 </span> : map_ptrloc ParentPkg; // Pacakge -<span class="lineNum"> 312 </span> : map_ptrloc Version; // Version -<span class="lineNum"> 313 </span> : map_ptrloc ProvideVersion; // Stringtable -<span class="lineNum"> 314 </span> : map_ptrloc NextProvides; // Provides -<span class="lineNum"> 315 </span> : map_ptrloc NextPkgProv; // Provides -<span class="lineNum"> 316 </span> : }; -<span class="lineNum"> 317 </span> : -<span class="lineNum"> 318 </span> : struct pkgCache::StringItem -<span class="lineNum"> 319 </span> : { -<span class="lineNum"> 320 </span> : map_ptrloc String; // Stringtable -<span class="lineNum"> 321 </span> : map_ptrloc NextItem; // StringItem -<span class="lineNum"> 322 </span> : }; -<span class="lineNum"> 323 </span> : -<span class="lineNum"> 324 </span> : #include <apt-pkg/cacheiterators.h> -<span class="lineNum"> 325 </span> : -<span class="lineNum"> 326 </span><span class="lineCov"> 19 : inline pkgCache::PkgIterator pkgCache::PkgBegin() </span> -<span class="lineNum"> 327 </span><span class="lineCov"> 19 : {return PkgIterator(*this);};</span> -<span class="lineNum"> 328 </span> : inline pkgCache::PkgIterator pkgCache::PkgEnd() -<span class="lineNum"> 329 </span> : {return PkgIterator(*this,PkgP);}; -<span class="lineNum"> 330 </span> : inline pkgCache::PkgFileIterator pkgCache::FileBegin() -<span class="lineNum"> 331 </span> : {return PkgFileIterator(*this,PkgFileP + HeaderP->FileList);}; -<span class="lineNum"> 332 </span> : inline pkgCache::PkgFileIterator pkgCache::FileEnd() -<span class="lineNum"> 333 </span> : {return PkgFileIterator(*this,PkgFileP);}; -<span class="lineNum"> 334 </span> : -<span class="lineNum"> 335 </span> : // Oh I wish for Real Name Space Support -<span class="lineNum"> 336 </span> : class pkgCache::Namespace -<span class="lineNum"> 337 </span> : { -<span class="lineNum"> 338 </span> : public: -<span class="lineNum"> 339 </span> : -<span class="lineNum"> 340 </span> : typedef pkgCache::PkgIterator PkgIterator; -<span class="lineNum"> 341 </span> : typedef pkgCache::VerIterator VerIterator; -<span class="lineNum"> 342 </span> : typedef pkgCache::DescIterator DescIterator; -<span class="lineNum"> 343 </span> : typedef pkgCache::DepIterator DepIterator; -<span class="lineNum"> 344 </span> : typedef pkgCache::PrvIterator PrvIterator; -<span class="lineNum"> 345 </span> : typedef pkgCache::PkgFileIterator PkgFileIterator; -<span class="lineNum"> 346 </span> : typedef pkgCache::VerFileIterator VerFileIterator; -<span class="lineNum"> 347 </span> : typedef pkgCache::Version Version; -<span class="lineNum"> 348 </span> : typedef pkgCache::Description Description; -<span class="lineNum"> 349 </span> : typedef pkgCache::Package Package; -<span class="lineNum"> 350 </span> : typedef pkgCache::Header Header; -<span class="lineNum"> 351 </span> : typedef pkgCache::Dep Dep; -<span class="lineNum"> 352 </span> : typedef pkgCache::Flag Flag; -<span class="lineNum"> 353 </span> : }; -<span class="lineNum"> 354 </span> : -<span class="lineNum"> 355 </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> diff --git a/rep/usr/include/apt-pkg/progress.h.gcov.html b/rep/usr/include/apt-pkg/progress.h.gcov.html deleted file mode 100644 index 6dce14e..0000000 --- a/rep/usr/include/apt-pkg/progress.h.gcov.html +++ /dev/null @@ -1,156 +0,0 @@ -<!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/progress.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> - progress.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%">3</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%">3</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: progress.h,v 1.6 2001/05/07 05:06:52 jgg Exp $ -<span class="lineNum"> 4 </span> : /* ###################################################################### -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : OpProgress - Operation Progress -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : This class allows lengthy operations to communicate their progress -<span class="lineNum"> 9 </span> : to the GUI. The progress model is simple and is not designed to handle -<span class="lineNum"> 10 </span> : the complex case of the multi-activity aquire class. -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : The model is based on the concept of an overall operation consisting -<span class="lineNum"> 13 </span> : of a series of small sub operations. Each sub operation has it's own -<span class="lineNum"> 14 </span> : completion status and the overall operation has it's completion status. -<span class="lineNum"> 15 </span> : The units of the two are not mixed and are completely independent. -<span class="lineNum"> 16 </span> : -<span class="lineNum"> 17 </span> : The UI is expected to subclass this to provide the visuals to the user. -<span class="lineNum"> 18 </span> : -<span class="lineNum"> 19 </span> : ##################################################################### */ -<span class="lineNum"> 20 </span> : /*}}}*/ -<span class="lineNum"> 21 </span> : #ifndef PKGLIB_PROGRESS_H -<span class="lineNum"> 22 </span> : #define PKGLIB_PROGRESS_H -<span class="lineNum"> 23 </span> : -<span class="lineNum"> 24 </span> : -<span class="lineNum"> 25 </span> : #include <string> -<span class="lineNum"> 26 </span> : #include <sys/time.h> -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span> : using std::string; -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span> : class Configuration; -<span class="lineNum"> 31 </span> : class OpProgress -<span class="lineNum"> 32 </span> : { -<span class="lineNum"> 33 </span> : unsigned long Current; -<span class="lineNum"> 34 </span> : unsigned long Total; -<span class="lineNum"> 35 </span> : unsigned long Size; -<span class="lineNum"> 36 </span> : unsigned long SubTotal; -<span class="lineNum"> 37 </span> : float LastPercent; -<span class="lineNum"> 38 </span> : -<span class="lineNum"> 39 </span> : // Change reduction code -<span class="lineNum"> 40 </span> : struct timeval LastTime; -<span class="lineNum"> 41 </span> : string LastOp; -<span class="lineNum"> 42 </span> : string LastSubOp; -<span class="lineNum"> 43 </span> : -<span class="lineNum"> 44 </span> : protected: -<span class="lineNum"> 45 </span> : -<span class="lineNum"> 46 </span> : string Op; -<span class="lineNum"> 47 </span> : string SubOp; -<span class="lineNum"> 48 </span> : float Percent; -<span class="lineNum"> 49 </span> : -<span class="lineNum"> 50 </span> : bool MajorChange; -<span class="lineNum"> 51 </span> : -<span class="lineNum"> 52 </span> : bool CheckChange(float Interval = 0.7); -<span class="lineNum"> 53 </span><span class="lineCov"> 24433 : virtual void Update() {};</span> -<span class="lineNum"> 54 </span> : -<span class="lineNum"> 55 </span> : public: -<span class="lineNum"> 56 </span> : -<span class="lineNum"> 57 </span> : void Progress(unsigned long Current); -<span class="lineNum"> 58 </span> : void SubProgress(unsigned long SubTotal); -<span class="lineNum"> 59 </span> : void SubProgress(unsigned long SubTotal,const string &Op); -<span class="lineNum"> 60 </span> : void OverallProgress(unsigned long Current,unsigned long Total, -<span class="lineNum"> 61 </span> : unsigned long Size,const string &Op); -<span class="lineNum"> 62 </span><span class="lineCov"> 62 : virtual void Done() {};</span> -<span class="lineNum"> 63 </span> : -<span class="lineNum"> 64 </span> : OpProgress(); -<span class="lineNum"> 65 </span><span class="lineCov"> 29 : virtual ~OpProgress() {};</span> -<span class="lineNum"> 66 </span> : }; -<span class="lineNum"> 67 </span> : -<span class="lineNum"> 68 </span> : class OpTextProgress : public OpProgress -<span class="lineNum"> 69 </span> : { -<span class="lineNum"> 70 </span> : protected: -<span class="lineNum"> 71 </span> : -<span class="lineNum"> 72 </span> : string OldOp; -<span class="lineNum"> 73 </span> : bool NoUpdate; -<span class="lineNum"> 74 </span> : bool NoDisplay; -<span class="lineNum"> 75 </span> : unsigned long LastLen; -<span class="lineNum"> 76 </span> : virtual void Update(); -<span class="lineNum"> 77 </span> : void Write(const char *S); -<span class="lineNum"> 78 </span> : -<span class="lineNum"> 79 </span> : public: -<span class="lineNum"> 80 </span> : -<span class="lineNum"> 81 </span> : virtual void Done(); -<span class="lineNum"> 82 </span> : -<span class="lineNum"> 83 </span> : OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), -<span class="lineNum"> 84 </span> : NoDisplay(false), LastLen(0) {}; -<span class="lineNum"> 85 </span> : OpTextProgress(Configuration &Config); -<span class="lineNum"> 86 </span> : virtual ~OpTextProgress() {Done();}; -<span class="lineNum"> 87 </span> : }; -<span class="lineNum"> 88 </span> : -<span class="lineNum"> 89 </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> diff --git a/rep/usr/include/apt-pkg/version.h.gcov.html b/rep/usr/include/apt-pkg/version.h.gcov.html deleted file mode 100644 index 6bcff73..0000000 --- a/rep/usr/include/apt-pkg/version.h.gcov.html +++ /dev/null @@ -1,131 +0,0 @@ -<!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> |