#include <apt-pkg/pkgcache.h>
#include <apt-pkg/init.h>
+#include <apt-pkg/edsp.h>
#include <apt-pkg/macros.h>
#include <string>
class pkgSourceList;
class pkgOrderList;
class pkgRecords;
+class OpProgress;
+class pkgPackageManager;
namespace APT {
namespace Progress {
class PackageManager;
}
}
-
class pkgPackageManager : protected pkgCache::Namespace
{
public:
/** \brief saves packages dpkg let disappear
This way APT can retreat from trying to configure these
- packages later on and a frontend can choose to display a
+ packages later on and a front-end can choose to display a
notice to inform the user about these disappears.
*/
std::set<std::string> disappearedPkgs;
void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth = 0);
virtual OrderResult OrderInstall();
bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver);
+ bool CheckRBreaks(PkgIterator const &Pkg,DepIterator Dep,const char * const Ver);
bool CreateOrderList();
// Analysis helpers
virtual bool Configure(PkgIterator /*Pkg*/) {return false;};
virtual bool Remove(PkgIterator /*Pkg*/,bool /*Purge*/=false) {return false;};
virtual bool Go(APT::Progress::PackageManager * /*progress*/) {return true;};
- virtual bool Go(int /*statusFd*/=-1) {return true;};
+ APT_DEPRECATED_MSG("Use overload with explicit progress manager") virtual bool Go(int /*statusFd*/=-1) {return true;};
virtual void Reset() {};
// Do the installation
OrderResult DoInstall(APT::Progress::PackageManager *progress);
// compat
- APT_DEPRECATED OrderResult DoInstall(int statusFd=-1);
+ APT_DEPRECATED_MSG("Use APT::Progress::PackageManager subclass instead of fd") OrderResult DoInstall(int statusFd=-1);
+
+ friend bool EIPP::OrderInstall(char const * const planner, pkgPackageManager * const PM,
+ unsigned int const version, OpProgress * const Progress);
+ friend bool EIPP::ReadResponse(int const input, pkgPackageManager * const PM,
+ OpProgress * const Progress);
// stuff that needs to be done before the fork() of a library that
// uses apt
// stuff that needs to be done after the fork
OrderResult DoInstallPostFork(APT::Progress::PackageManager *progress);
// compat
- APT_DEPRECATED OrderResult DoInstallPostFork(int statusFd=-1);
+ APT_DEPRECATED_MSG("Use APT::Progress::PackageManager subclass instead of fd") OrderResult DoInstallPostFork(int statusFd=-1);
// ?
bool FixMissing();