]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/edsp/edspsystem.h
CMake: test/libapt: Use a prebuilt GTest library if available
[apt.git] / apt-pkg / edsp / edspsystem.h
index ec42bef75e21e4bcf284e0113ff53b1840fdabba..c0c9526b5327fcd87162fd9a5b58747ce665b338 100644 (file)
@@ -14,6 +14,7 @@
 #include <apt-pkg/cacheiterators.h>
 #include <apt-pkg/pkgcache.h>
 
+#include <memory>
 #include <vector>
 
 #include <apt-pkg/macros.h>
@@ -22,29 +23,47 @@ class Configuration;
 class pkgDepCache;
 class pkgIndexFile;
 class pkgPackageManager;
-class edspIndex;
 
-class APT_HIDDEN edspSystem : public pkgSystem
+class APT_HIDDEN edspLikeSystem : public pkgSystem
 {
-   /** \brief dpointer placeholder (for later in case we need it) */
-   void * const d;
-
-   edspIndex *StatusFile;
-
-   public:
+protected:
+   std::unique_ptr<pkgIndexFile> 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 AddStatusFiles(std::vector<pkgIndexFile *> &List) APT_OVERRIDE;
    virtual bool FindIndex(pkgCache::PkgFileIterator File,
                          pkgIndexFile *&Found) const APT_OVERRIDE;
 
+   edspLikeSystem(char const * const Label);
+   virtual ~edspLikeSystem();
+};
+
+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();
    virtual ~edspSystem();
 };
 
+class APT_HIDDEN eippSystem : public edspLikeSystem
+{
+   public:
+   virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) APT_OVERRIDE;
+
+   eippSystem();
+   virtual ~eippSystem();
+};
+
 #endif