summaryrefslogtreecommitdiff
path: root/apt-pkg/clean.h
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-04-28 18:18:28 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2017-06-26 23:31:15 +0200
commit6829c5420b4c2e434489e837cad6f3fd09fa3ab3 (patch)
tree131c32bc0eae7b2f500351501e4a72628e4e6dc8 /apt-pkg/clean.h
parente91dd46e3f65517ed9dbc6e431a56112a403cb3e (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.h14
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