apt  0.9.7.5ubuntu1
Public Member Functions | Protected Attributes | List of all members
pkgAcqIndex Class Reference

An acquire item that is responsible for fetching an index {{{ file (e.g., Packages or Sources). More...

#include <acquire-item.h>

Inheritance diagram for pkgAcqIndex:
pkgAcquire::Item WeakPointable pkgAcqIndexTrans

Public Member Functions

virtual void Failed (std::string Message, pkgAcquire::MethodConfig *Cnf)
 Invoked by the acquire worker when the object couldn't be fetched.
virtual void Done (std::string Message, unsigned long long Size, std::string Md5Hash, pkgAcquire::MethodConfig *Cnf)
 Invoked by the acquire worker when the object was fetched successfully.
virtual std::string Custom600Headers ()
 Custom headers to be sent to the fetch process.
virtual std::string DescURI ()
 A "descriptive" URI-like string.
virtual std::string HashSum ()
 HashSum.
 pkgAcqIndex (pkgAcquire *Owner, std::string URI, std::string URIDesc, std::string ShortDesc, HashString ExpectedHash, std::string compressExt="")
 Create a pkgAcqIndex.
 pkgAcqIndex (pkgAcquire *Owner, struct IndexTarget const *const Target, HashString const &ExpectedHash, indexRecords const *MetaIndexParser)
void Init (std::string const &URI, std::string const &URIDesc, std::string const &ShortDesc)
- Public Member Functions inherited from pkgAcquire::Item
virtual void Start (std::string Message, unsigned long long Size)
 Invoked when the worker starts to fetch this object.
virtual std::string ShortDesc ()
 Short item description.
virtual void Finished ()
 Invoked by the worker when the download is completely done.
pkgAcquireGetOwner ()
virtual bool IsTrusted ()
void ReportMirrorFailure (std::string FailCode)
 Report mirror problem.
 Item (pkgAcquire *Owner)
 Initialize an item.
virtual ~Item ()
 Remove this item from its owner's queue by invoking pkgAcquire::Remove.
- Public Member Functions inherited from WeakPointable
void AddWeakPointer (WeakPointable **weakptr)
void RemoveWeakPointer (WeakPointable **weakptr)
 ~WeakPointable ()

Protected Attributes

bool Decompression
 If true, the index file has been decompressed.
bool Erase
 If true, the partially downloaded file will be removed when the download completes.
bool Verify
 Verify for correctness by checking if a "Package" tag is found in the index. This can be set to false for optional index targets.
pkgAcquire::ItemDesc Desc
 The download request that is currently being processed.
std::string RealURI
 The object that is actually being fetched (minus any compression-related extensions).
HashString ExpectedHash
 The expected hashsum of the decompressed index file.
std::string CompressionExtension
 The compression-related file extensions that are being added to the downloaded file one by one if first fails (e.g., "gz bz2").
- Protected Attributes inherited from pkgAcquire::Item
pkgAcquireOwner
 The acquire object with which this item is associated.

Additional Inherited Members

- Public Types inherited from pkgAcquire::Item
enum  ItemState {
  StatIdle, StatFetching, StatDone, StatError,
  StatAuthError, StatTransientNetworkError
}
 The current status of this item. More...
- Public Attributes inherited from pkgAcquire::Item
enum pkgAcquire::Item::ItemState Status
std::string ErrorText
 Contains a textual description of the error encountered if #Status is StatError or StatAuthError.
unsigned long long FileSize
 The size of the object to fetch.
unsigned long long PartialSize
 How much of the object was already fetched.
const char * Mode
 If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv").
unsigned long ID
 A client-supplied unique identifier.
bool Complete
 If true, the entire object has been successfully fetched.
bool Local
 If true, the URI of this object is "local".
std::string UsedMirror
unsigned int QueueCounter
 The number of fetch queues into which this item has been inserted.
std::string DestFile
 The name of the file into which the retrieved object will be written.
- Protected Member Functions inherited from pkgAcquire::Item
void QueueURI (ItemDesc &Item)
 Insert this item into its owner's queue.
void Dequeue ()
 Remove this item from its owner's queue.
void Rename (std::string From, std::string To)
 Rename a file without modifying its timestamp.

Detailed Description

An acquire item that is responsible for fetching an index {{{ file (e.g., Packages or Sources).

See Also
pkgAcqDiffIndex, pkgAcqIndexDiffs, pkgAcqIndexTrans
Todo:
Why does pkgAcqIndex have protected members?

Constructor & Destructor Documentation

pkgAcqIndex ( pkgAcquire Owner,
std::string  URI,
std::string  URIDesc,
std::string  ShortDesc,
HashString  ExpectedHash,
std::string  compressExt = "" 
)

Create a pkgAcqIndex.

Parameters
OwnerThe pkgAcquire object with which this item is associated.
URIThe URI of the index file that is to be downloaded.
URIDescA "URI-style" description of this index file.
ShortDescA brief description of this index file.
ExpectedHashThe expected hashsum of this index file.
compressExtThe compression-related extension with which this index file should be downloaded, or "" to autodetect Compression types can be set with config Acquire::CompressionTypes, default is ".lzma" or ".bz2" (if the needed binaries are present) fallback is ".gz" or none.

References CompressionExtension, and Configuration::getCompressionTypes().

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.

Reimplemented in pkgAcqIndexTrans.

References RealURI, and pkgAcquire::Item::ShortDesc().

virtual std::string DescURI ( )
inlinevirtual

A "descriptive" URI-like string.

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

Implements pkgAcquire::Item.

References Desc, and pkgAcquire::ItemDesc::URI.

void Done ( std::string  Message,
unsigned long long  Size,
std::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
MessageData from the acquire method. Use LookupTag() to parse it.
SizeThe size of the object that was fetched.
HashThe HashSum of the object that was fetched.
CnfThe method via which the object was fetched.
See Also
pkgAcqMethod

Reimplemented from pkgAcquire::Item.

References pkgAcquire::Item::Complete, CompressionExtension, Decompression, Desc, pkgAcquire::Item::DestFile, Erase, pkgAcquire::Item::ErrorText, pkgAcquire::Item::Local, pkgAcquire::Item::Mode, pkgAcquire::Item::QueueURI(), RealURI, pkgAcquire::Item::Rename(), pkgAcquire::Item::ReportMirrorFailure(), pkgAcquire::Item::StatAuthError, pkgAcquire::Item::StatError, pkgAcquire::ItemDesc::URI, and Verify.

void Failed ( std::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
MessageAn RFC822-formatted message from the acquire method describing what went wrong. Use LookupTag() to parse it.
CnfThe method via which the worker tried to fetch this object.
See Also
pkgAcqMethod

Reimplemented from pkgAcquire::Item.

Reimplemented in pkgAcqIndexTrans.

References CompressionExtension, Decompression, Desc, pkgAcquire::ItemDesc::Description, Erase, RealURI, and pkgAcquire::ItemDesc::ShortDesc.

virtual std::string HashSum ( )
inlinevirtual

HashSum.

Returns
the HashSum of this object, if applicable; otherwise, an empty string.

Reimplemented from pkgAcquire::Item.

References ExpectedHash.

Member Data Documentation

bool Verify
protected

Verify for correctness by checking if a "Package" tag is found in the index. This can be set to false for optional index targets.

Referenced by Done().


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