summaryrefslogtreecommitdiffstats
path: root/apt-pkg/clean.h
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/clean.h')
-rw-r--r--apt-pkg/clean.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/apt-pkg/clean.h b/apt-pkg/clean.h
new file mode 100644
index 0000000..d6490a0
--- /dev/null
+++ b/apt-pkg/clean.h
@@ -0,0 +1,49 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+
+ Clean - Clean out downloaded directories
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef APTPKG_CLEAN_H
+#define APTPKG_CLEAN_H
+
+#ifndef APT_10_CLEANER_HEADERS
+#include <apt-pkg/pkgcache.h>
+#endif
+
+#include <string>
+
+#include <apt-pkg/macros.h>
+
+class pkgCache;
+
+class pkgArchiveCleaner
+{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void * const d;
+
+ protected:
+
+ 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:
+
+ bool Go(std::string Dir,pkgCache &Cache);
+
+ 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