#include <apt-pkg/cacheiterators.h>
#include <apt-pkg/pkgcache.h>
+#include <memory>
#include <vector>
+#include <apt-pkg/macros.h>
+
class Configuration;
class pkgDepCache;
class pkgIndexFile;
class pkgPackageManager;
-class edspIndex;
-class edspSystem : public pkgSystem
+class APT_HIDDEN edspLikeSystem : public pkgSystem
{
- /** \brief dpointer placeholder (for later in case we need it) */
- void *d;
+protected:
+ std::unique_ptr<pkgIndexFile> StatusFile;
- edspIndex *StatusFile;
+public:
+ virtual bool Lock() APT_OVERRIDE APT_CONST;
+ virtual bool UnLock(bool NoErrors = false) APT_OVERRIDE APT_CONST;
+ virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const APT_OVERRIDE APT_CONST;
+ virtual bool Initialize(Configuration &Cnf) APT_OVERRIDE;
+ virtual bool ArchiveSupported(const char *Type) APT_OVERRIDE APT_CONST;
+ virtual signed Score(Configuration const &Cnf) APT_OVERRIDE;
+ virtual bool FindIndex(pkgCache::PkgFileIterator File,
+ pkgIndexFile *&Found) const APT_OVERRIDE;
- public:
+ edspLikeSystem(char const * const Label);
+ virtual ~edspLikeSystem();
+};
- virtual bool Lock();
- virtual bool UnLock(bool NoErrors = false);
- virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const;
- virtual bool Initialize(Configuration &Cnf);
- virtual bool ArchiveSupported(const char *Type);
- virtual signed Score(Configuration const &Cnf);
- virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List);
- virtual bool FindIndex(pkgCache::PkgFileIterator File,
- pkgIndexFile *&Found) const;
+class APT_HIDDEN edspSystem : public edspLikeSystem
+{
+ std::string tempDir;
+ std::string tempStatesFile;
+ std::string tempPrefsFile;
+
+public:
+ virtual bool Initialize(Configuration &Cnf) APT_OVERRIDE;
+ virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) APT_OVERRIDE;
edspSystem();
- ~edspSystem();
+ virtual ~edspSystem();
};
-extern edspSystem edspSys;
+class APT_HIDDEN eippSystem : public edspLikeSystem
+{
+ public:
+ virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) APT_OVERRIDE;
+
+ eippSystem();
+ virtual ~eippSystem();
+};
#endif