pkgAcqChangelog Class Reference
Acquire system {{{

Retrieve the changelog for the given version {{{. More...

`#include <apt-pkg/acquire-item.h>`

Inheritance diagram for pkgAcqChangelog:
[legend]
Collaboration diagram for pkgAcqChangelog:
[legend]

## Classes

class | Private

## Public Member Functions

HashStringList | GetExpectedHashes () const override
bool | HashesRequired () const override
void | Failed (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override
| Invoked by the acquire worker when the object couldn't be fetched.
void | Done (std::string const &Message, HashStringList const &CalcHashes, pkgAcquire::MethodConfig const *Cnf) override
| Invoked by the acquire worker when the object was fetched successfully.
std::string | DescURI () const override
| A "descriptive" URI-like string.
| pkgAcqChangelog (pkgAcquire *const Owner, pkgCache::VerIterator const &Ver, std::string const &DestDir="", std::string const &DestFilename="")
| Create a new pkgAcqChangelog object.
| pkgAcqChangelog (pkgAcquire *const Owner, pkgCache::RlsFileIterator const &Rls, char const *const Component, char const *const SrcName, char const *const SrcVersion, std::string const &DestDir="", std::string const &DestFilename="")
| Create a new pkgAcqChangelog object.
| pkgAcqChangelog (pkgAcquire *const Owner, std::string const &URI, char const *const SrcName, char const *const SrcVersion, std::string const &DestDir="", std::string const &DestFilename="")
| Create a new pkgAcqChangelog object.
Public Member Functions inherited from pkgAcquire::Item
APT_HIDDEN void | FailMessage (std::string const &Message)
virtual bool | VerifyDone (std::string const &Message, pkgAcquire::MethodConfig const *const Cnf)
| Invoked by the acquire worker to check if the successfully fetched object is also the objected we wanted to have.
virtual void | Start (std::string const &Message, unsigned long long const Size)
| Invoked when the worker starts to fetch this object.
virtual std::string | Custom600Headers () const
| Custom headers to be sent to the fetch process.
APT_HIDDEN std::unordered_map< std::string, std::string > & | ModifyCustomFields ()
APT_HIDDEN bool | PopAlternativeURI (std::string &NewURI)
APT_HIDDEN bool | IsGoodAlternativeURI (std::string const &AltUri) const
APT_HIDDEN void | PushAlternativeURI (std::string &&NewURI, std::unordered_map< std::string, std::string > &&fields, bool const at_the_back)
APT_HIDDEN void | RemoveAlternativeSite (std::string const &AltUri)
virtual std::string | ShortDesc () const
| Short item description.
APT_HIDDEN void | Cancelled ()
| Invoked by the worker when the download is cancelled before completion.
virtual void | Finished ()
| Invoked by the worker when the download is completely done.
std::string | HashSum () const
pkgAcquire * | GetOwner () const
pkgAcquire::ItemDesc & | GetItemDesc ()
virtual bool | IsTrusted () const
void | SetActiveSubprocess (std::string const &subprocess)
| Set the name of the current active subprocess.
| Item (pkgAcquire *const Owner)
| Initialize an item.
virtual | ~Item ()
| Remove this item from its owner's queue by invoking pkgAcquire::Remove.
bool APT_HIDDEN | IsRedirectionLoop (std::string const &NewURI)
int APT_HIDDEN | Priority ()
| The priority of the item, used for queuing.
void APT_HIDDEN | FetchAfter (time_point FetchAfter)
| internal clock definitions to avoid typing all that all over the place
time_point APT_HIDDEN | FetchAfter ()
Public Member Functions inherited from WeakPointable
void | AddWeakPointer (WeakPointable **weakptr)
void | RemoveWeakPointer (WeakPointable **weakptr)
| ~WeakPointable ()

## Static Public Member Functions

static std::string | URI (pkgCache::VerIterator const &Ver)
static std::string | URI (pkgCache::RlsFileIterator const &Rls, char const *const Component, char const *const SrcName, char const *const SrcVersion)
static std::string | URI (std::string const &Template, char const *const Component, char const *const SrcName, char const *const SrcVersion)
static std::string | URITemplate (pkgCache::RlsFileIterator const &Rls)

## 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 ItemState 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.
std::string | ActiveSubprocess
| contains the name of the subprocess that is operating on this object (for instance, "gzip", "rred" or "gpgv"). This is obsoleting #Mode from above as it can manage the lifetime of included string properly.
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.
unsigned int | ExpectedAdditionalItems
| The number of additional fetch items that are expected once this item is done.
std::string | DestFile
| The name of the file into which the retrieved object will be written.
unsigned int | Retries
| Number of retries.
Protected Types inherited from pkgAcquire::Item
enum | RenameOnErrorState { HashSumMismatch , SizeMismatch , InvalidFormat , SignatureError , NotClearsigned , MaximumSizeExceeded , PDiffError }
Protected Member Functions inherited from pkgAcquire::Item
bool | RenameOnError (RenameOnErrorState const state)
| Rename failed file and set error.
virtual bool | QueueURI (ItemDesc &Item)
| Insert this item into its owner's queue.
void | Dequeue ()
| Remove this item from its owner's queue.
bool | Rename (std::string const &From, std::string const &To)
| Rename a file without modifying its timestamp.
virtual std::string | GetFinalFilename () const
| Get the full pathname of the final file for the current URI.
Protected Attributes inherited from pkgAcquire::Item
pkgAcquire *const | Owner
| The acquire object with which this item is associated.
pkgAcquire::ItemDesc | Desc
| The item that is currently being downloaded.

## Detailed Description

Retrieve the changelog for the given version {{{.

Downloads the changelog to a temporary file it will also remove again while it is deconstructed or downloads it to a named location.

## Constructor & Destructor Documentation

## pkgAcqChangelog() [1/3]

pkgAcqChangelog | ( | pkgAcquire *const | Owner,
|  | pkgCache::VerIterator const & | Ver,
|  | std::string const & | DestDir = "",
|  | std::string const & | DestFilename = "" )

Create a new pkgAcqChangelog object.

Parameters

  Owner | The pkgAcquire object with which this object is associated.
  Ver | is the version to get the changelog for
  DestDir | The directory the file should be downloaded into. Will be an autocreated (and cleaned up) temporary directory if not set.
  DestFilename | The filename the file should have in #DestDir Defaults to sourcepackagename.changelog if not set.

References pkgAcquire::Item::Desc, pkgAcquire::Item::Item(), pkgAcquire::Item::Owner, pkgAcqChangelog(), and URI().

Referenced by pkgAcqChangelog(), pkgAcqChangelog(), and pkgAcqChangelog().

## pkgAcqChangelog() [2/3]

pkgAcqChangelog | ( | pkgAcquire *const | Owner,
|  | pkgCache::RlsFileIterator const & | Rls,
|  | char const *const | Component,
|  | char const *const | SrcName,
|  | char const *const | SrcVersion,
|  | std::string const & | DestDir = "",
|  | std::string const & | DestFilename = "" )

Create a new pkgAcqChangelog object.

Parameters

  Owner | The pkgAcquire object with which this object is associated.
  Rls | is the Release file the package comes from
  Component | in which the package resides, can be empty
  SrcName | is the source package name
  SrcVersion | is the source package version
  DestDir | The directory the file should be downloaded into. Will be an autocreated (and cleaned up) temporary directory if not set.
  DestFilename | The filename the file should have in #DestDir Defaults to sourcepackagename.changelog if not set.

References pkgAcquire::Item::Desc, pkgAcquire::Item::Item(), pkgAcquire::Item::Owner, pkgAcqChangelog(), and URI().

## pkgAcqChangelog() [3/3]

pkgAcqChangelog | ( | pkgAcquire *const | Owner,
|  | std::string const & | URI,
|  | char const *const | SrcName,
|  | char const *const | SrcVersion,
|  | std::string const & | DestDir = "",
|  | std::string const & | DestFilename = "" )

Create a new pkgAcqChangelog object.

Parameters

  Owner | The pkgAcquire object with which this object is associated.
  URI | is to be used to get the changelog
  SrcName | is the source package name
  SrcVersion | is the source package version
  DestDir | The directory the file should be downloaded into. Will be an autocreated (and cleaned up) temporary directory if not set.
  DestFilename | The filename the file should have in #DestDir Defaults to sourcepackagename.changelog if not set.

References pkgAcquire::Item::Desc, pkgAcquire::Item::Item(), pkgAcquire::Item::Owner, pkgAcqChangelog(), and URI().

## Member Function Documentation

## DescURI()

std::string DescURI | ( |  | ) | const

inline nodiscard override virtual

A "descriptive" URI-like string.

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

Implements pkgAcquire::Item.

References pkgAcquire::Item::Desc.

## Done()

void Done | ( | std::string const & | Message,
|  | HashStringList const & | Hashes,
|  | pkgAcquire::MethodConfig const * | Cnf )

override 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.
  Hashes | The HashSums 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, pkgAcquire::Item::DestFile, pkgAcquire::Item::Rename(), and pkgAcquire::Item::StatError.

## Failed()

void Failed | ( | std::string const & | Message,
|  | pkgAcquire::MethodConfig const * | Cnf )

override 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::ErrorText.

## GetExpectedHashes()

HashStringList GetExpectedHashes | ( |  | ) | const

inline nodiscard override virtual

Returns
  HashSums the DestFile is supposed to have in this stage

Implements pkgAcquire::Item.

## HashesRequired()

bool HashesRequired | ( |  | ) | const

inline nodiscard override virtual

Returns
  if having no hashes is a hard failure or not

Idealy this is always true for every subclass, but thanks to historical grow we don't have hashes for all files in all cases in all steps, so it is slightly more complicated than it should be.

Reimplemented from pkgAcquire::Item.

## URI() [1/3]

std::string URI | ( | pkgCache::RlsFileIterator const & | Rls,
|  | char const *const | Component,
|  | char const *const | SrcName,
|  | char const *const | SrcVersion )

static

returns the URI to the changelog of this version

Parameters

  Rls | is the Release file the package comes from
  Component | in which the package resides, can be empty
  SrcName | is the source package name
  SrcVersion | is the source package version

Returns
  the URI which will be used to acquire the changelog

References URI(), and URITemplate().

## URI() [2/3]

std::string URI | ( | pkgCache::VerIterator const & | Ver | ) |

static

returns the URI to the changelog of this version

Parameters

  Ver | is the version to get the changelog for

Returns
  the URI which will be used to acquire the changelog

References pkgCache::Flag::NotSource, FileFd::ReadLine(), pkgCache::VerIterator::SourcePkgName(), pkgCache::VerIterator::SourceVerStr(), and URI().

Referenced by pkgAcqChangelog(), pkgAcqChangelog(), pkgAcqChangelog(), URI(), and URI().

## URI() [3/3]

std::string URI | ( | std::string const & | Template,
|  | char const *const | Component,
|  | char const *const | SrcName,
|  | char const *const | SrcVersion )

static

returns the URI to the changelog of this version

Parameters

  Template | URI where @CHANGEPATH@ has to be filled in
  Component | in which the package resides, can be empty
  SrcName | is the source package name
  SrcVersion | is the source package version

Returns
  the URI which will be used to acquire the changelog

## URITemplate()

std::string URITemplate | ( | pkgCache::RlsFileIterator const & | Rls | ) |

static

returns the URI template for this release file

Parameters

  Rls | is a Release file

Returns
  the URI template to use for this release file

Referenced by URI().

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

- apt-pkg/acquire-item.h
- apt-pkg/acquire-item.cc