X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/484dbb814fd2b787b2206ffe9504798dfd73ae6c..0179cfa83cf0042235eda41db7f35c420781c63e:/apt-pkg/deb/debsystem.h diff --git a/apt-pkg/deb/debsystem.h b/apt-pkg/deb/debsystem.h index 5f9995e5d..5185c92d8 100644 --- a/apt-pkg/deb/debsystem.h +++ b/apt-pkg/deb/debsystem.h @@ -11,31 +11,47 @@ #define PKGLIB_DEBSYSTEM_H #include +#include +#include +#include +class Configuration; +class pkgIndexFile; +class pkgPackageManager; +class debSystemPrivate; +class pkgDepCache; + +#ifndef APT_10_CLEANER_HEADERS class debStatusIndex; +#endif + class debSystem : public pkgSystem { - // For locking support - int LockFD; - unsigned LockCount; - bool CheckUpdates(); - - debStatusIndex *StatusFile; - + // private d-pointer + debSystemPrivate * const d; + APT_HIDDEN bool CheckUpdates(); + public: - 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 &List); + virtual bool Lock() APT_OVERRIDE; + virtual bool UnLock(bool NoErrors = false) APT_OVERRIDE; + virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const APT_OVERRIDE; + virtual bool Initialize(Configuration &Cnf) APT_OVERRIDE; + virtual bool ArchiveSupported(const char *Type) APT_OVERRIDE; + virtual signed Score(Configuration const &Cnf) APT_OVERRIDE; + virtual bool AddStatusFiles(std::vector &List) APT_OVERRIDE; virtual bool FindIndex(pkgCache::PkgFileIterator File, - pkgIndexFile *&Found) const; + pkgIndexFile *&Found) const APT_OVERRIDE; debSystem(); - ~debSystem(); + virtual ~debSystem(); + + APT_HIDDEN static std::string GetDpkgExecutable(); + APT_HIDDEN static std::vector GetDpkgBaseCommand(); + APT_HIDDEN static void DpkgChrootDirectory(); + APT_HIDDEN static pid_t ExecDpkg(std::vector const &sArgs, int * const inputFd, int * const outputFd, bool const DiscardOutput); + APT_HIDDEN static bool SupportsMultiArch(); + APT_HIDDEN static std::vector SupportedArchitectures(); }; extern debSystem debSys;