libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
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