Retrieve an arbitrary file to the current directory. More...
#include <acquire-item.h>
Public Types | |
enum | ItemState { StatIdle, StatFetching, StatDone, StatError, StatAuthError, StatTransientNetworkError } |
The current status of this item. More... | |
Public Member Functions | |
pkgAcqFile (pkgAcquire *Owner, std::string URI, std::string Hash, unsigned long long Size, std::string Desc, std::string ShortDesc, const std::string &DestDir="", const std::string &DestFilename="", bool IsIndexFile=false) | |
Create a new pkgAcqFile object. More... | |
void | AddWeakPointer (WeakPointable **weakptr) |
Add a new weak pointer. More... | |
virtual std::string | Custom600Headers () |
Custom headers to be sent to the fetch process. More... | |
virtual std::string | DescURI () |
A "descriptive" URI-like string. More... | |
virtual void | Done (std::string Message, unsigned long long Size, std::string CalcHash, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object was fetched successfully. More... | |
virtual void | Failed (std::string Message, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object couldn't be fetched. More... | |
virtual void | Finished () |
Invoked by the worker when the download is completely done. More... | |
pkgAcquire * | GetOwner () |
virtual std::string | HashSum () |
HashSum. More... | |
virtual bool | IsTrusted () |
void | RemoveWeakPointer (WeakPointable **weakptr) |
Remove the weak pointer from the list of weak pointers. More... | |
void | ReportMirrorFailure (std::string FailCode) |
Report mirror problem. More... | |
virtual std::string | ShortDesc () |
Short item description. More... | |
virtual void | Start (std::string Message, unsigned long long Size) |
Invoked when the worker starts to fetch this object. More... | |
Public Attributes | |
bool | Complete |
If true, the entire object has been successfully fetched. More... | |
std::string | DestFile |
The name of the file into which the retrieved object will be written. More... | |
std::string | ErrorText |
Contains a textual description of the error encountered if Status is StatError or StatAuthError. More... | |
unsigned long long | FileSize |
The size of the object to fetch. More... | |
unsigned long | ID |
A client-supplied unique identifier. More... | |
bool | Local |
If true, the URI of this object is "local". More... | |
const char * | Mode |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv"). More... | |
unsigned long long | PartialSize |
How much of the object was already fetched. More... | |
unsigned int | QueueCounter |
The number of fetch queues into which this item has been inserted. More... | |
enum pkgAcquire::Item::ItemState | Status |
std::string | UsedMirror |
Protected Member Functions | |
void | Dequeue () |
Remove this item from its owner's queue. More... | |
void | QueueURI (ItemDesc &Item) |
Insert this item into its owner's queue. More... | |
void | Rename (std::string From, std::string To) |
Rename a file without modifying its timestamp. More... | |
Protected Attributes | |
pkgAcquire * | Owner |
The acquire object with which this item is associated. More... | |
Private Attributes | |
pkgAcquire::ItemDesc | Desc |
The currently active download process. More... | |
HashString | ExpectedHash |
The hashsum of the file to download, if it is known. More... | |
bool | IsIndexFile |
Should this file be considered a index file. More... | |
unsigned int | Retries |
How many times to retry the download, set from Acquire::Retries. More... | |
Retrieve an arbitrary file to the current directory.
{{{
The file is retrieved even if it is accessed via a URL type that normally is a NOP, such as "file". If the download fails, the partial file is renamed to get a ".FAILED" extension.
|
inherited |
The current status of this item.
pkgAcqFile::pkgAcqFile | ( | pkgAcquire * | Owner, |
std::string | URI, | ||
std::string | Hash, | ||
unsigned long long | Size, | ||
std::string | Desc, | ||
std::string | ShortDesc, | ||
const std::string & | DestDir = "" , |
||
const std::string & | DestFilename = "" , |
||
bool | IsIndexFile = false |
||
) |
Create a new pkgAcqFile object.
Owner | The pkgAcquire object with which this object is associated. |
URI | The URI to download. |
Hash | The hashsum of the file to download, if it is known; otherwise "". |
Size | The size of the file to download, if it is known; otherwise 0. |
Desc | A description of the file being downloaded. |
ShortDesc | A brief description of the file being downloaded. |
DestDir | The directory the file should be downloaded into. |
DestFilename | The filename+path the file is downloaded to. |
IsIndexFile | The file is considered a IndexFile and cache-control headers like "cache-control: max-age=0" are send |
If DestFilename is empty, download to DestDir/<basename> if DestDir is non-empty, $CWD/<basename> otherwise. If DestFilename is NOT empty, DestDir is ignored and DestFilename is the absolute name to which the file should be downloaded.
|
inlineinherited |
Add a new weak pointer.
References WeakPointable::pointers.
|
virtual |
Custom headers to be sent to the fetch process.
Reimplemented from pkgAcquire::Item.
|
inlineprotectedinherited |
Remove this item from its owner's queue.
References pkgAcquire::Dequeue(), and pkgAcquire::Item::Owner.
|
inlinevirtual |
A "descriptive" URI-like string.
Implements pkgAcquire::Item.
References Desc, and pkgAcquire::ItemDesc::URI.
|
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.
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. |
Reimplemented from pkgAcquire::Item.
|
virtual |
Invoked by the acquire worker when the object couldn't be fetched.
This is a branch of the continuation of the fetch process.
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. |
Reimplemented from pkgAcquire::Item.
|
inlinevirtualinherited |
Invoked by the worker when the download is completely done.
Reimplemented in pkgAcqArchive.
|
inlineinherited |
References pkgAcquire::Item::Owner.
|
inlinevirtual |
HashSum.
Reimplemented from pkgAcquire::Item.
References ExpectedHash, and HashString::toStr().
|
inlinevirtualinherited |
Reimplemented in pkgAcqArchive.
|
inlineprotectedinherited |
Insert this item into its owner's queue.
References pkgAcquire::Enqueue(), and pkgAcquire::Item::Owner.
|
inlineinherited |
Remove the weak pointer from the list of weak pointers.
References WeakPointable::pointers.
|
protectedinherited |
Rename a file without modifying its timestamp.
Many item methods call this as their final action.
From | The file to be renamed. |
To | The new name of #From. If #To exists it will be overwritten. |
|
inherited |
Report mirror problem.
This allows reporting mirror failures back to a centralized server. The apt-report-mirror-failure script is called for this
FailCode | A short failure string that is send |
|
inlinevirtualinherited |
Short item description.
Reimplemented in pkgAcqArchive.
References pkgAcquire::Item::DescURI().
|
virtualinherited |
Invoked when the worker starts to fetch this object.
Message | RFC822-formatted data from the worker process. Use LookupTag() to parse it. |
Size | The size of the object being fetched. |
|
inherited |
If true, the entire object has been successfully fetched.
Subclasses should set this to true when appropriate.
|
private |
The currently active download process.
Referenced by DescURI().
|
inherited |
The name of the file into which the retrieved object will be written.
|
inherited |
Contains a textual description of the error encountered if Status is StatError or StatAuthError.
|
private |
The hashsum of the file to download, if it is known.
Referenced by HashSum().
|
inherited |
The size of the object to fetch.
|
inherited |
A client-supplied unique identifier.
This field is initalized to 0; it is meant to be filled in by clients that wish to use it to uniquely identify items.
|
private |
Should this file be considered a index file.
|
inherited |
If true, the URI of this object is "local".
The only effect of this field is to exclude the object from the download progress indicator's overall statistics.
|
inherited |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv").
|
protectedinherited |
The acquire object with which this item is associated.
Referenced by pkgAcquire::Item::Dequeue(), pkgAcquire::Item::GetOwner(), and pkgAcquire::Item::QueueURI().
|
inherited |
How much of the object was already fetched.
|
inherited |
The number of fetch queues into which this item has been inserted.
There is one queue for each source from which an item could be downloaded.
|
private |
How many times to retry the download, set from Acquire::Retries.
|
inherited |
|
inherited |