summaryrefslogtreecommitdiff
path: root/rep/usr/include/apt-pkg/acquire.h.gcov.html
diff options
context:
space:
mode:
Diffstat (limited to 'rep/usr/include/apt-pkg/acquire.h.gcov.html')
-rw-r--r--rep/usr/include/apt-pkg/acquire.h.gcov.html835
1 files changed, 0 insertions, 835 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&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">usr/include/apt-pkg</a> - 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&nbsp;lines:</td>
- <td class="headerValue" width="20%">5</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">0.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;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 &lt;vector&gt;
-<span class="lineNum"> 70 </span> : #include &lt;string&gt;
-<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 &lt;sys/time.h&gt;
-<span class="lineNum"> 77 </span> : #include &lt;unistd.h&gt;
-<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&lt;Item *&gt;::iterator ItemIterator;
-<span class="lineNum"> 102 </span> : typedef vector&lt;Item *&gt;::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&lt;Item *&gt; 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 &amp;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 *&amp;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 &amp;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 &amp;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 &amp;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-&gt;Next;
-<span class="lineNum"> 547 </span> : while (CurItem == 0 &amp;&amp; CurQ != 0)
-<span class="lineNum"> 548 </span> : {
-<span class="lineNum"> 549 </span> : CurItem = CurQ-&gt;Items;
-<span class="lineNum"> 550 </span> : CurQ = CurQ-&gt;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 -&gt;() const {return CurItem;};
-<span class="lineNum"> 555 </span> : inline bool operator !=(UriIterator const &amp;rhs) const {return rhs.CurQ != CurQ || rhs.CurItem != CurItem;};
-<span class="lineNum"> 556 </span> : inline bool operator ==(UriIterator const &amp;rhs) const {return rhs.CurQ == CurQ &amp;&amp; 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 &amp;&amp; CurQ != 0)
-<span class="lineNum"> 565 </span> : {
-<span class="lineNum"> 566 </span> : CurItem = CurQ-&gt;Items;
-<span class="lineNum"> 567 </span> : CurQ = CurQ-&gt;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, &quot;&quot;, 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 &amp;/*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 &amp;/*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 &amp;/*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 &amp;/*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>