libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libzypp
Welcome to libzypp
Code Pitfalls - Frequently made mistakes
Code Snippets
Environment Variables
Testing for provided features.
Notes on revisions
Extending ZYpp: Plugins and Hooks
Services
Solver - Vendor protection
Writing and tunning testcases
Libzypp and threads
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
pool
repo
sat
solver
target
hal
modalias
rpm
CommitPackageCache.cc
CommitPackageCache.h
CommitPackageCacheImpl.cc
CommitPackageCacheImpl.h
CommitPackageCacheReadAhead.cc
CommitPackageCacheReadAhead.h
HardLocksFile.cc
HardLocksFile.h
RequestedLocalesFile.cc
RequestedLocalesFile.h
SoftLocksFile.cc
SoftLocksFile.h
TargetCallbackReceiver.cc
TargetCallbackReceiver.h
TargetException.cc
TargetException.h
TargetImpl.cc
TargetImpl.h
thread
ui
url
ws
zypp_detail
APIConfig.h
Arch.cc
Arch.h
AutoDispose.h
Bit.h
ByteCount.cc
ByteCount.h
Callback.h
Capabilities.cc
Capabilities.h
Capability.cc
Capability.h
CapMatch.cc
CapMatch.h
Changelog.cc
Changelog.h
CheckSum.cc
CheckSum.h
CountryCode.cc
CountryCode.h
Date.cc
Date.h
Dep.cc
Dep.h
Digest.cc
Digest.h
DiskUsage.cc
DiskUsage.h
DiskUsageCounter.cc
DiskUsageCounter.h
DownloadMode.cc
DownloadMode.h
Edition.cc
Edition.h
ExternalProgram.cc
ExternalProgram.h
Fetcher.cc
Fetcher.h
FileChecker.cc
FileChecker.h
Filter.h
Glob.cc
Glob.h
HistoryLog.cc
HistoryLog.h
HistoryLogData.cc
HistoryLogData.h
IdString.cc
IdString.h
IdStringType.h
InstanceId.cc
InstanceId.h
KeyContext.h
KeyRing.cc
KeyRing.h
KVMap.h
LanguageCode.cc
LanguageCode.h
Locale.cc
Locale.h
Locks.cc
Locks.h
ManagedFile.h
MediaProducts.cc
MediaProducts.h
MediaSetAccess.cc
MediaSetAccess.h
Misc.h
OnMediaLocation.cc
OnMediaLocation.h
Package.cc
Package.h
PackageKeyword.h
Patch.cc
Patch.h
PathInfo.cc
PathInfo.h
Pathname.cc
Pathname.h
Pattern.cc
Pattern.h
PluginFrame.cc
PluginFrame.h
PluginFrameException.cc
PluginFrameException.h
PluginScript.cc
PluginScript.h
PluginScriptException.cc
PluginScriptException.h
PoolItem.cc
PoolItem.h
PoolItemBest.cc
PoolItemBest.h
PoolQuery.cc
PoolQuery.h
PoolQueryResult.cc
PoolQueryResult.h
PoolQueryUtil.tcc
ProblemSolution.cc
ProblemSolution.h
ProblemTypes.h
Product.cc
Product.h
ProgressData.cc
ProgressData.h
ProvideFilePolicy.cc
ProvideFilePolicy.h
PublicKey.cc
PublicKey.h
Range.cc
Range.h
Rel.cc
Rel.h
RelCompare.h
RepoInfo.cc
RepoInfo.h
RepoManager.cc
RepoManager.h
Repository.cc
Repository.h
RepoStatus.cc
RepoStatus.h
ResFilters.h
ResKind.cc
ResKind.h
ResObject.cc
ResObject.h
ResObjects.h
Resolvable.cc
Resolvable.h
Resolver.cc
Resolver.h
ResolverProblem.cc
ResolverProblem.h
ResPool.cc
ResPool.h
ResPoolProxy.cc
ResPoolProxy.h
ResStatus.cc
ResStatus.h
ResTraits.h
ServiceInfo.cc
ServiceInfo.h
Signature.cc
Signature.h
SrcPackage.cc
SrcPackage.h
SysContent.cc
SysContent.h
Target.cc
Target.h
TmpPath.cc
TmpPath.h
TriBool.h
Url.cc
Url.h
Vendor.h
VendorAttr.cc
VendorAttr.h
VendorSupportOptions.cc
VendorSupportOptions.h
ZConfig.cc
ZConfig.h
ZYpp.cc
ZYpp.h
ZYppCallbacks.h
ZYppCommit.h
ZYppCommitPolicy.cc
ZYppCommitPolicy.h
ZYppCommitResult.cc
ZYppCommitResult.h
ZYppFactory.cc
ZYppFactory.h
File Members
CommitPackageCacheReadAhead.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_TARGET_COMMITPACKAGECACHEREADAHEAD_H
13
#define ZYPP_TARGET_COMMITPACKAGECACHEREADAHEAD_H
14
15
#include <map>
16
17
#include "
zypp/base/Logger.h
"
18
#include "
zypp/base/Exception.h
"
19
#include "
zypp/base/DefaultIntegral.h
"
20
#include "
zypp/Repository.h
"
21
#include "
zypp/TmpPath.h
"
22
#include "
zypp/target/CommitPackageCacheImpl.h
"
23
25
namespace
zypp
26
{
27
28
namespace
target
29
{
30
32
//
33
// CLASS NAME : IMediaKey
34
//
36
struct
IMediaKey
37
{
38
IMediaKey
()
39
{}
40
41
explicit
42
IMediaKey
(
const
PoolItem
& obj_r )
43
:
_repo
( obj_r->repository() )
44
,
_mediaNr
( obj_r->mediaNr() )
45
{}
46
47
explicit
48
IMediaKey
(
const
ResObject::constPtr
& obj_r )
49
:
_repo
( obj_r->repository() )
50
,
_mediaNr
( obj_r->mediaNr() )
51
{}
52
53
IMediaKey
(
const
Repository
& repo,
unsigned
mediaNr_r )
54
:
_repo
( repo )
55
,
_mediaNr
( mediaNr_r )
56
{}
57
58
bool
operator==
(
const
IMediaKey
& rhs )
const
59
{
return
(
_repo
== rhs.
_repo
&&
_mediaNr
== rhs.
_mediaNr
); }
60
61
bool
operator!=
(
const
IMediaKey
& rhs )
const
62
{
return
!
operator==
( rhs ); }
63
64
bool
operator<
(
const
IMediaKey
& rhs )
const
65
{
66
return
(
_repo
.
id
() < rhs.
_repo
.
id
()
67
|| (
_repo
.
id
() == rhs.
_repo
.
id
()
68
&&
_mediaNr
< rhs.
_mediaNr
) );
69
}
70
71
Repository
_repo
;
72
DefaultIntegral<unsigned,0>
_mediaNr
;
73
};
75
76
std::ostream &
operator<<
( std::ostream & str,
const
IMediaKey
& obj );
77
79
//
80
// CLASS NAME : CommitPackageCacheReadAhead
81
//
83
class
CommitPackageCacheReadAhead
:
public
CommitPackageCache::Impl
84
{
85
typedef
std::map<PoolItem,ManagedFile>
CacheMap
;
86
87
public
:
88
CommitPackageCacheReadAhead
(
const
Pathname & rootDir_r,
89
const
PackageProvider
& packageProvider_r );
90
91
public
:
93
virtual
ManagedFile
get
(
const
PoolItem
& citem_r );
94
95
private
:
97
bool
onInteractiveMedia
(
const
PoolItem
& pi )
const
;
98
99
private
:
105
void
cacheLastInteractive
(
const
PoolItem
& citem_r );
106
108
void
doCacheLastInteractive
(
const
PoolItem
& citem_r );
109
110
private
:
111
DefaultIntegral<unsigned,0>
_dbgChanges
;
112
113
IMediaKey
_lastInteractive
;
114
115
Pathname
_rootDir
;
116
shared_ptr<filesystem::TmpDir>
_cacheDir
;
117
CacheMap
_cacheMap
;
118
};
120
122
}
// namespace target
125
}
// namespace zypp
127
#endif // ZYPP_TARGET_COMMITPACKAGECACHEREADAHEAD_H
zypp
target
CommitPackageCacheReadAhead.h
Generated by
1.8.1