X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/71608330b9b2bd95a0481ca53cd58b584fd61e42..7303e11ff28f920a6277c159aa46f80c007350bb:/apt-pkg/edsp.h diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h index 57d4214e8..60f8c2883 100644 --- a/apt-pkg/edsp.h +++ b/apt-pkg/edsp.h @@ -109,8 +109,9 @@ namespace EDSP /*{{{*/ * * This method takes care of interpreting whatever the solver sends * through the standard output like a solution, progress or an error. - * The main thread should handle his control over to this method to - * wait for the solver to finish the given task + * The main thread should hand his control over to this method to + * wait for the solver to finish the given task. The file descriptor + * used as input is completely consumed and closed by the method. * * \param input file descriptor with the response from the solver * \param Cache the solution should be applied on if any @@ -235,4 +236,41 @@ namespace EDSP /*{{{*/ bool const autoRemove, OpProgress *Progress = NULL); } /*}}}*/ +class pkgPackageManager; +namespace EIPP /*{{{*/ +{ + namespace Request + { + enum Flags + { + IMMEDIATE_CONFIGURATION_ALL = (1 << 0), /*!< try to keep the least amount of packages unconfigured as possible at all times */ + NO_IMMEDIATE_CONFIGURATION = (1 << 1), /*!< do not perform immediate configuration at all */ + ALLOW_TEMPORARY_REMOVE_OF_ESSENTIALS = (1 << 2), /*!< just as the name suggests, very special case and dangerous! */ + }; + } + + APT_HIDDEN bool WriteRequest(pkgDepCache &Cache, FileFd &output, + unsigned int const flags, OpProgress * const Progress); + APT_HIDDEN bool WriteScenario(pkgDepCache &Cache, FileFd &output, + OpProgress * const Progress); + + APT_HIDDEN bool OrderInstall(char const * const planner, pkgPackageManager * const PM, + unsigned int const version, OpProgress * const Progress); + APT_HIDDEN bool ReadResponse(int const input, pkgPackageManager * const PM, + OpProgress * const Progress); + + enum class PKG_ACTION + { + NOOP, + INSTALL, + REINSTALL, + REMOVE + }; + bool ReadRequest(int const input, + std::list> &actions, + unsigned int &flags); + bool ApplyRequest(std::list> &actions, + pkgDepCache &Cache); +} + /*}}}*/ #endif