1 #ifndef APT_PRIVATE_INSTALL_H
2 #define APT_PRIVATE_INSTALL_H
4 #include <apt-pkg/cachefile.h>
5 #include <apt-pkg/configuration.h>
6 #include <apt-pkg/pkgcache.h>
7 #include <apt-pkg/cacheiterators.h>
8 #include <apt-pkg/cacheset.h>
9 #include <apt-pkg/macros.h>
17 class pkgProblemResolver
;
19 APT_PUBLIC
bool DoInstall(CommandLine
&Cmd
);
21 bool DoCacheManipulationFromCommandLine(CommandLine
&CmdL
, CacheFile
&Cache
,
22 std::map
<unsigned short, APT::VersionSet
> &verset
, int UpgradeMode
);
23 bool DoCacheManipulationFromCommandLine(CommandLine
&CmdL
, CacheFile
&Cache
, int UpgradeMode
);
25 APT_PUBLIC
bool InstallPackages(CacheFile
&Cache
,bool ShwKept
,bool Ask
= true,
29 // TryToInstall - Mark a package for installation /*{{{*/
30 struct APT_PUBLIC TryToInstall
{
32 pkgProblemResolver
* Fix
;
34 unsigned long AutoMarkChanged
;
35 APT::PackageSet doAutoInstallLater
;
37 TryToInstall(pkgCacheFile
&Cache
, pkgProblemResolver
*PM
, bool const FixBroken
) : Cache(&Cache
), Fix(PM
),
38 FixBroken(FixBroken
), AutoMarkChanged(0) {};
40 void operator() (pkgCache::VerIterator
const &Ver
);
41 bool propergateReleaseCandiateSwitching(std::list
<std::pair
<pkgCache::VerIterator
, std::string
> > const &start
, std::ostream
&out
);
45 // TryToRemove - Mark a package for removal /*{{{*/
46 struct APT_PUBLIC TryToRemove
{
48 pkgProblemResolver
* Fix
;
51 TryToRemove(pkgCacheFile
&Cache
, pkgProblemResolver
*PM
) : Cache(&Cache
), Fix(PM
),
52 PurgePkgs(_config
->FindB("APT::Get::Purge", false)) {};
54 void operator() (pkgCache::VerIterator
const &Ver
);