#endif
+class pkgSimulatePrivate;
class pkgSimulate : public pkgPackageManager /*{{{*/
{
- void * const d;
+ pkgSimulatePrivate * const d;
protected:
class Policy : public pkgDepCache::Policy
Policy iPolicy;
pkgDepCache Sim;
pkgDepCache::ActionGroup group;
-
- // The Actuall installation implementation
+
+ // The Actual installation implementation
virtual bool Install(PkgIterator Pkg,std::string File) APT_OVERRIDE;
virtual bool Configure(PkgIterator Pkg) APT_OVERRIDE;
virtual bool Remove(PkgIterator Pkg,bool Purge) APT_OVERRIDE;
+ // FIXME: trick to avoid ABI break for virtual reimplementation; fix on next ABI break
+public:
+ APT_HIDDEN bool Go2(APT::Progress::PackageManager * progress);
+
private:
APT_HIDDEN void ShortBreaks();
APT_HIDDEN void Describe(PkgIterator iPkg,std::ostream &out,bool Current,bool Candidate);
+ APT_HIDDEN bool RealInstall(PkgIterator Pkg,std::string File);
+ APT_HIDDEN bool RealConfigure(PkgIterator Pkg);
+ APT_HIDDEN bool RealRemove(PkgIterator Pkg,bool Purge);
public:
bool Debug;
// Sort stuff
- static pkgProblemResolver *This;
- APT_HIDDEN static int ScoreSort(const void *a,const void *b) APT_PURE;
+ APT_HIDDEN int ScoreSort(Package const *A, Package const *B) APT_PURE;
struct PackageKill
{
APT_HIDDEN void MakeScores();
APT_HIDDEN bool DoUpgrade(pkgCache::PkgIterator Pkg);
- APT_HIDDEN bool ResolveInternal(bool const BrokenFix = false);
- APT_HIDDEN bool ResolveByKeepInternal();
-
protected:
bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg);
inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(Protected | ToRemove);};
// Try to intelligently resolve problems by installing and removing packages
-#if APT_PKG_ABI >= 413
bool Resolve(bool BrokenFix = false, OpProgress * const Progress = NULL);
-#else
- bool Resolve(bool BrokenFix = false);
- bool Resolve(bool BrokenFix, OpProgress * const Progress);
-#endif
+ APT_HIDDEN bool ResolveInternal(bool const BrokenFix = false);
// Try to resolve problems only by using keep
-#if APT_PKG_ABI >= 413
bool ResolveByKeep(OpProgress * const Progress = NULL);
-#else
- bool ResolveByKeep();
- bool ResolveByKeep(OpProgress * const Progress);
-#endif
+ APT_HIDDEN bool ResolveByKeepInternal();
- APT_DEPRECATED void InstallProtect();
+ APT_DEPRECATED_MSG("NOOP as MarkInstall enforces not overriding FromUser markings") void InstallProtect();
explicit pkgProblemResolver(pkgDepCache *Cache);
virtual ~pkgProblemResolver();