#include <map>
#ifndef APT_8_CLEANER_HEADERS
-#include <apt-pkg/vendor.h>
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/pkgrecords.h>
#endif
*/
virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ /** \brief Invoked by the acquire worker to check if the successfully
+ * fetched object is also the objected we wanted to have.
+ *
+ * Note that the object might \e 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.
+ *
+ * This is called before Done is called and can prevent it by returning
+ * \b false which will result in Failed being called instead.
+ *
+ * You should prefer to use this method over calling Failed() from Done()
+ * as this has e.g. the wrong progress reporting.
+ *
+ * \param Message Data from the acquire method. Use LookupTag()
+ * to parse it.
+ * \param Cnf The method via which the object was fetched.
+ *
+ * \sa pkgAcqMethod
+ */
+ virtual bool VerifyDone(std::string const &Message,
+ pkgAcquire::MethodConfig const * const Cnf);
+
/** \brief Invoked by the acquire worker when the object was
* fetched successfully.
*
IndexTarget const Target;
HashStringList GetExpectedHashesFor(std::string const &MetaKey) const;
- bool QueueURI(pkgAcquire::ItemDesc &Item);
+ bool QueueURI(pkgAcquire::ItemDesc &Item) APT_OVERRIDE;
public:
/** \brief storge name until a transaction is finished */
};
virtual bool TransactionState(TransactionStates const state);
- virtual std::string DescURI() const { return Target.URI; }
- virtual HashStringList GetExpectedHashes() const;
+ virtual std::string DescURI() const APT_OVERRIDE { return Target.URI; }
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
virtual std::string GetMetaKey() const;
- virtual bool HashesRequired() const;
+ virtual bool HashesRequired() const APT_OVERRIDE;
pkgAcqTransactionItem(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager, IndexTarget const &Target);
/** \brief Queue the downloaded Signature for verification */
void QueueForSignatureVerify(pkgAcqTransactionItem * const I, std::string const &File, std::string const &Signature);
- virtual std::string Custom600Headers() const;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
/** \brief Called when authentication succeeded.
*
*/
bool VerifyVendor(std::string const &Message);
- virtual bool TransactionState(TransactionStates const state);
+ virtual bool TransactionState(TransactionStates const state) APT_OVERRIDE;
public:
// This refers more to the Transaction-Manager than the actual file
bool IMSHit;
- virtual bool QueueURI(pkgAcquire::ItemDesc &Item);
- virtual HashStringList GetExpectedHashes() const;
- virtual bool HashesRequired() const;
+ virtual bool QueueURI(pkgAcquire::ItemDesc &Item) APT_OVERRIDE;
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
+ virtual bool HashesRequired() const APT_OVERRIDE;
// transaction code
void Add(pkgAcqTransactionItem * const I);
void TransactionStageRemoval(pkgAcqTransactionItem * const I, const std::string &FinalFile);
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
pkgAcqMetaBase(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
std::vector<IndexTarget> const &IndexTargets,
void Init(std::string const &URIDesc, std::string const &ShortDesc);
public:
- virtual std::string DescURI() const;
+ virtual std::string DescURI() const APT_OVERRIDE;
// Specialized action members
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual void Finished();
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual void Finished() APT_OVERRIDE;
/** \brief Create a new pkgAcqMetaIndex. */
pkgAcqMetaIndex(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
protected:
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
public:
- virtual bool HashesRequired() const { return false; }
+ virtual bool HashesRequired() const APT_OVERRIDE { return false; }
// Specialized action members
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
/** \brief Create a new pkgAcqMetaSig. */
pkgAcqMetaSig(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
metaIndex *MetaIndexParser;
metaIndex *LastMetaIndexParser;
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string Custom600Headers() const;
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
+ virtual bool VerifyDone(std::string const &Message, pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
/** \brief Create a new pkgAcqMetaClearSig. */
pkgAcqMetaClearSig(pkgAcquire * const Owner,
public:
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
pkgAcqBaseIndex(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
IndexTarget const &Target);
std::string Description;
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
- virtual bool QueueURI(pkgAcquire::ItemDesc &Item);
+ virtual bool QueueURI(pkgAcquire::ItemDesc &Item) APT_OVERRIDE;
- virtual bool TransactionState(TransactionStates const state);
+ virtual bool TransactionState(TransactionStates const state) APT_OVERRIDE;
public:
// Specialized action members
- virtual void Failed(std::string const &Message, pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message, pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string DescURI() const {return Target.URI + "Index";};
- virtual std::string Custom600Headers() const;
- virtual std::string GetMetaKey() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Target.URI + "Index";};
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
+ virtual std::string GetMetaKey() const APT_OVERRIDE;
/** \brief Parse the Index file for a set of Packages diffs.
*
* This method will fall back to downloading the whole index file
* outright; its arguments are ignored.
*/
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string Custom600Headers() const;
- virtual std::string DescURI() const {return Target.URI + "Index";};
- virtual HashStringList GetExpectedHashes() const;
- virtual bool HashesRequired() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Target.URI + "Index";};
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
+ virtual bool HashesRequired() const APT_OVERRIDE;
/** \brief Create an index merge-diff item.
*
* This method will fall back to downloading the whole index file
* outright; its arguments are ignored.
*/
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string Custom600Headers() const;
- virtual std::string DescURI() const {return Target.URI + "IndexDiffs";};
- virtual HashStringList GetExpectedHashes() const;
- virtual bool HashesRequired() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Target.URI + "IndexDiffs";};
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
+ virtual bool HashesRequired() const APT_OVERRIDE;
/** \brief Create an index diff item.
*
void ReverifyAfterIMS();
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
- virtual bool TransactionState(TransactionStates const state);
+ virtual bool TransactionState(TransactionStates const state) APT_OVERRIDE;
public:
// Specialized action members
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string Custom600Headers() const;
- virtual std::string DescURI() const {return Desc.URI;};
- virtual std::string GetMetaKey() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Desc.URI;};
+ virtual std::string GetMetaKey() const APT_OVERRIDE;
pkgAcqIndex(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
IndexTarget const &Target);
bool QueueNext();
/** \brief Get the full pathname of the final file for the current URI */
- virtual std::string GetFinalFilename() const;
+ virtual std::string GetFinalFilename() const APT_OVERRIDE;
public:
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &Hashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string DescURI() const;
- virtual std::string ShortDesc() const;
- virtual void Finished();
- virtual bool IsTrusted() const;
- virtual HashStringList GetExpectedHashes() const;
- virtual bool HashesRequired() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE;
+ virtual std::string ShortDesc() const APT_OVERRIDE;
+ virtual void Finished() APT_OVERRIDE;
+ virtual bool IsTrusted() const APT_OVERRIDE;
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
+ virtual bool HashesRequired() const APT_OVERRIDE;
/** \brief Create a new pkgAcqArchive.
*
public:
// we will never have hashes for changelogs.
// If you need verified ones, download the deb and extract the changelog.
- virtual HashStringList GetExpectedHashes() const { return HashStringList(); }
- virtual bool HashesRequired() const { return false; }
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE { return HashStringList(); }
+ virtual bool HashesRequired() const APT_OVERRIDE { return false; }
// Specialized action members
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &CalcHashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string DescURI() const {return Desc.URI;};
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Desc.URI;};
/** returns the URI to the changelog of this version
*
HashStringList const ExpectedHashes;
public:
- virtual HashStringList GetExpectedHashes() const;
- virtual bool HashesRequired() const;
+ virtual HashStringList GetExpectedHashes() const APT_OVERRIDE;
+ virtual bool HashesRequired() const APT_OVERRIDE;
// Specialized action members
- virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf);
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
virtual void Done(std::string const &Message, HashStringList const &CalcHashes,
- pkgAcquire::MethodConfig const * const Cnf);
- virtual std::string DescURI() const {return Desc.URI;};
- virtual std::string Custom600Headers() const;
+ pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
+ virtual std::string DescURI() const APT_OVERRIDE {return Desc.URI;};
+ virtual std::string Custom600Headers() const APT_OVERRIDE;
/** \brief Create a new pkgAcqFile object.
*