Public Member Functions | Protected Attributes

pkgAcqDiffIndex Class Reference
[Acquire system {{{]

An item that is responsible for fetching an index file of {{{ package list diffs and starting the package list's download. More...

#include <acquire-item.h>

Inheritance diagram for pkgAcqDiffIndex:
pkgAcquire::Item WeakPointable

List of all members.

Public Member Functions

virtual void Failed (string Message, pkgAcquire::MethodConfig *Cnf)
 Invoked by the acquire worker when the object couldn't be fetched.
virtual void Done (string Message, unsigned long Size, string Md5Hash, pkgAcquire::MethodConfig *Cnf)
 Invoked by the acquire worker when the object was fetched successfully.
virtual string DescURI ()
 A "descriptive" URI-like string.
virtual string Custom600Headers ()
 Custom headers to be sent to the fetch process.
bool ParseDiffIndex (string IndexDiffFile)
 Parse the Index file for a set of Packages diffs.
 pkgAcqDiffIndex (pkgAcquire *Owner, string URI, string URIDesc, string ShortDesc, HashString ExpectedHash)
 Create a new pkgAcqDiffIndex.

Protected Attributes

bool Debug
 If true, debugging information will be written to std::clog.
pkgAcquire::ItemDesc Desc
 The item that is currently being downloaded.
string RealURI
 The URI of the index file to recreate at our end (either by downloading it or by applying partial patches).
HashString ExpectedHash
 The Hash that the real index file should have after all patches have been applied.
string CurrentPackagesFile
 The index file which will be patched to generate the new file.
string Description
 A description of the Packages file (stored in pkgAcquire::ItemDesc::Description).

Detailed Description

An item that is responsible for fetching an index file of {{{ package list diffs and starting the package list's download.

This item downloads the Index file and parses it, then enqueues additional downloads of either the individual patches (using pkgAcqIndexDiffs) or the entire Packages file (using pkgAcqIndex).

See also:
pkgAcqIndexDiffs, pkgAcqIndex

Constructor & Destructor Documentation

pkgAcqDiffIndex ( pkgAcquire Owner,
string  URI,
string  URIDesc,
string  ShortDesc,
HashString  ExpectedHash 
)

Create a new pkgAcqDiffIndex.

Parameters:
Owner The Acquire object that owns this item.
URI The URI of the list file to download.
URIDesc A long description of the list file to download.
ShortDesc A short description of the list file to download.
ExpectedHash The list file's MD5 signature.

References CurrentPackagesFile, Debug, Desc, pkgAcquire::ItemDesc::Description, pkgAcquire::Item::DestFile, Failed(), pkgAcquire::ItemDesc::Owner, pkgAcquire::Item::QueueURI(), RealURI, pkgAcquire::ItemDesc::ShortDesc, and pkgAcquire::ItemDesc::URI.


Member Function Documentation

string Custom600Headers (  )  [virtual]

Custom headers to be sent to the fetch process.

Returns:
a string containing RFC822-style headers that are to be inserted into the 600 URI Acquire message sent to the fetch subprocess. The headers are inserted after a newline-less line, so they should (if nonempty) have a leading newline and no trailing newline.

Reimplemented from pkgAcquire::Item.

References Debug, and RealURI.

virtual string DescURI (  )  [inline, virtual]

A "descriptive" URI-like string.

Returns:
a URI that should be used to describe what is being fetched.

Implements pkgAcquire::Item.

References RealURI.

void Done ( string  Message,
unsigned long  Size,
string  Hash,
pkgAcquire::MethodConfig Cnf 
) [virtual]

Invoked by the acquire worker when the object was fetched successfully.

Note that the object might not have been written to DestFile; check for the presence of an Alt-Filename entry in Message to find the file to which it was really written.

Done is often used to switch from one stage of the processing to the next (e.g. fetching, unpacking, copying). It is one branch of the continuation of the fetch process.

Parameters:
Message Data from the acquire method. Use LookupTag() to parse it.
Size The size of the object that was fetched.
Hash The HashSum of the object that was fetched.
Cnf The method via which the object was fetched.
See also:
pkgAcqMethod

Reimplemented from pkgAcquire::Item.

References pkgAcquire::Item::Complete, Debug, pkgAcquire::Item::Dequeue(), Desc, pkgAcquire::Item::DestFile, Failed(), ParseDiffIndex(), RealURI, pkgAcquire::Item::Rename(), pkgAcquire::Item::Status, and pkgAcquire::ItemDesc::URI.

void Failed ( string  Message,
pkgAcquire::MethodConfig Cnf 
) [virtual]

Invoked by the acquire worker when the object couldn't be fetched.

This is a branch of the continuation of the fetch process.

Parameters:
Message An RFC822-formatted message from the acquire method describing what went wrong. Use LookupTag() to parse it.
Cnf The method via which the worker tried to fetch this object.
See also:
pkgAcqMethod

Reimplemented from pkgAcquire::Item.

References pkgAcquire::Item::Complete, Debug, pkgAcquire::Item::Dequeue(), Desc, Description, ExpectedHash, pkgAcquire::Item::Owner, RealURI, pkgAcquire::ItemDesc::ShortDesc, pkgAcquire::Item::Status, and pkgAcquire::ItemDesc::URI.

Referenced by Done(), and pkgAcqDiffIndex().

bool ParseDiffIndex ( string  IndexDiffFile  ) 

Parse the Index file for a set of Packages diffs.

Parses the Index file and creates additional download items as necessary.

Parameters:
IndexDiffFile The name of the Index file.
Returns:
true if the Index file was successfully parsed, false otherwise.

References pkgAcquire::Item::Complete, CurrentPackagesFile, Debug, pkgAcquire::Item::Dequeue(), Desc, Description, ExpectedHash, DiffInfo::file, pkgAcquire::Item::Owner, RealURI, DiffInfo::sha1, pkgAcquire::ItemDesc::ShortDesc, and pkgAcquire::Item::Status.

Referenced by Done().


The documentation for this class was generated from the following files: