diff options
author | David Kalnischkies <david@kalnischkies.de> | 2017-04-28 18:18:28 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2017-06-26 23:31:15 +0200 |
commit | 6829c5420b4c2e434489e837cad6f3fd09fa3ab3 (patch) | |
tree | 131c32bc0eae7b2f500351501e4a72628e4e6dc8 /apt-pkg/clean.h | |
parent | e91dd46e3f65517ed9dbc6e431a56112a403cb3e (diff) |
clean archives without changing directory
Adopting this change in other frontends will require source changes as
well similar to our own changes in apt-private/.
Diffstat (limited to 'apt-pkg/clean.h')
-rw-r--r-- | apt-pkg/clean.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/apt-pkg/clean.h b/apt-pkg/clean.h index 6cedae086..2ba3932a0 100644 --- a/apt-pkg/clean.h +++ b/apt-pkg/clean.h @@ -16,6 +16,8 @@ #include <string> +#include <apt-pkg/macros.h> + class pkgCache; class pkgArchiveCleaner @@ -25,7 +27,7 @@ class pkgArchiveCleaner protected: - virtual void Erase(const char * /*File*/,std::string /*Pkg*/,std::string /*Ver*/,struct stat & /*St*/) {}; + APT_DEPRECATED_MSG("Use pkgArchiveCleaner2 to avoid CWD expectations and chdir") virtual void Erase(const char * /*File*/,std::string /*Pkg*/,std::string /*Ver*/,struct stat & /*St*/) {}; public: @@ -34,5 +36,15 @@ class pkgArchiveCleaner pkgArchiveCleaner(); virtual ~pkgArchiveCleaner(); }; +// TODO: merge classes and "erase" the old way +class pkgArchiveCleaner2: public pkgArchiveCleaner +{ + friend class pkgArchiveCleaner; +protected: + using pkgArchiveCleaner::Erase; + virtual void Erase(int const dirfd, char const * const File, + std::string const &Pkg,std::string const &Ver, + struct stat const &St) = 0; +}; #endif |