summaryrefslogtreecommitdiff
path: root/apt-pkg/clean.h
diff options
context:
space:
mode:
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