1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#ifndef APT_PRIVATE_CACHEFILE_H
#define APT_PRIVATE_CACHEFILE_H
#include <apt-pkg/cachefile.h>
#include <apt-pkg/progress.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/macros.h>
// class CacheFile - Cover class for some dependency cache functions /*{{{*/
// ---------------------------------------------------------------------
/* */
class APT_PUBLIC CacheFile : public pkgCacheFile
{
static pkgCache *SortCache;
APT_HIDDEN static int NameComp(const void *a,const void *b) APT_PURE;
public:
pkgCache::Package **List;
void Sort();
bool CheckDeps(bool AllowBroken = false);
bool BuildCaches(bool WithLock = true)
{
OpTextProgress Prog(*_config);
if (pkgCacheFile::BuildCaches(&Prog,WithLock) == false)
return false;
return true;
}
bool Open(bool WithLock = true)
{
OpTextProgress Prog(*_config);
if (pkgCacheFile::Open(&Prog,WithLock) == false)
return false;
Sort();
return true;
};
bool OpenForInstall()
{
if (_config->FindB("APT::Get::Print-URIs") == true)
return Open(false);
else
return Open(true);
}
CacheFile() : List(0) {};
~CacheFile() {
delete[] List;
}
};
/*}}}*/
#endif
|