libzypp 17.31.7
CommitPackageCache.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_TARGET_COMMITPACKAGECACHE_H
13#define ZYPP_TARGET_COMMITPACKAGECACHE_H
14
15#include <iosfwd>
16
17#include <zypp/base/PtrTypes.h>
18#include <zypp/base/Function.h>
19
20#include <zypp/PoolItem.h>
21#include <zypp/Pathname.h>
22#include <zypp/ManagedFile.h>
23
25namespace zypp
26{
28 namespace target
29 {
30
39 {
40 public:
43
45 ManagedFile operator()( const PoolItem & pi, bool fromCache_r );
46
47 private:
48 struct Impl;
50 };
51
53 //
54 // CLASS NAME : CommitPackageCache
55 //
59 {
60 friend std::ostream & operator<<( std::ostream & str, const CommitPackageCache & obj );
61
62 public:
63 typedef function<ManagedFile( const PoolItem & pi, bool fromCache_r )> PackageProvider;
64
65 public:
67 CommitPackageCache( const PackageProvider & packageProvider_r = RepoProvidePackage() );
68
72 CommitPackageCache( const Pathname & /*rootDir_r*/, const PackageProvider & packageProvider_r = RepoProvidePackage() ) ZYPP_DEPRECATED;
73
76
77 public:
79 void setCommitList( std::vector<sat::Solvable> commitList_r );
81 template <class TIterator>
82 void setCommitList( TIterator begin_r, TIterator end_r )
83 { setCommitList( std::vector<sat::Solvable>( begin_r, end_r ) ); }
84
86 ManagedFile get( const PoolItem & citem_r );
89 { return get( PoolItem(citem_r) ); }
90
95 bool preloaded() const;
97 void preloaded( bool newval_r );
98
99 public:
101 class Impl;
103 explicit CommitPackageCache( Impl * pimpl_r );
104 private:
107 };
109
111 std::ostream & operator<<( std::ostream & str, const CommitPackageCache & obj );
112
114 } // namespace target
117} // namespace zypp
119#endif // ZYPP_TARGET_COMMITPACKAGECACHE_H
RepoManager implementation.
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:51
A Solvable object within the sat Pool.
Definition: Solvable.h:54
Target::commit helper optimizing package provision.
friend std::ostream & operator<<(std::ostream &str, const CommitPackageCache &obj)
ManagedFile get(sat::Solvable citem_r)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void setCommitList(std::vector< sat::Solvable > commitList_r)
Download(commit) sequence of solvables to compute read ahead.
bool preloaded() const
Whether preloaded hint is set.
CommitPackageCache(const PackageProvider &packageProvider_r=RepoProvidePackage())
Ctor.
RW_pointer< Impl > _pimpl
Pointer to implementation.
ManagedFile get(const PoolItem &citem_r)
Provide a package.
function< ManagedFile(const PoolItem &pi, bool fromCache_r)> PackageProvider
Default PackageProvider for CommitPackageCache.
ManagedFile operator()(const PoolItem &pi, bool fromCache_r)
Provide package optionally fron cache only.
Definition: Arch.h:352
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const CommitPackageCache &obj)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
AutoDispose< const Pathname > ManagedFile
A Pathname plus associated cleanup code to be executed when path is no longer needed.
Definition: ManagedFile.h:27
Wrapper for const correct access via Smart pointer types.
Definition: PtrTypes.h:286
#define ZYPP_DEPRECATED
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3....
Definition: Globals.h:99