libzypp 17.25.10
PackageProvider.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_REPO_PACKAGEPROVIDER_H
13 #define ZYPP_REPO_PACKAGEPROVIDER_H
14 
15 #include <iosfwd>
16 
17 #include <zypp/ZYppCallbacks.h>
18 #include <zypp/Package.h>
19 #include <zypp/ManagedFile.h>
22 
24 namespace zypp
25 {
27  namespace repo
28  {
29 
35  {
36  public:
38  typedef function<bool ( const std::string &, const Edition &, const Arch & )> QueryInstalledCB;
39 
42  { _queryInstalledCB = queryInstalledCB_r; return *this; }
43 
45  bool queryInstalled( const std::string & name_r,
46  const Edition & ed_r,
47  const Arch & arch_r ) const;
48 
49  private:
51  };
53 
61  {
62  public:
66  PackageProvider( RepoMediaAccess & access, const PoolItem & pi_r,
67  const PackageProviderPolicy & policy_r = PackageProviderPolicy() );
68 
72  PackageProvider( RepoMediaAccess & access, const PoolItem & pi_r,
73  const DeltaCandidates & deltas,
74  const PackageProviderPolicy & policy_r = PackageProviderPolicy() );
75 
78  const Package::constPtr & package,
79  const DeltaCandidates & deltas,
80  const PackageProviderPolicy & policy_r = PackageProviderPolicy() );
81 
83 
84  public:
89 
92 
94  bool isCached() const;
95 
96  public:
97  struct Impl;
98  private:
100  };
102 
103  } // namespace repo
105 } // namespace zypp
107 #endif // ZYPP_SOURCE_PACKAGEPROVIDER_H
Architecture.
Definition: Arch.h:37
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition: AutoDispose.h:93
Edition represents [epoch:]version[-release]
Definition: Edition.h:61
TraitsType::constPtrType constPtr
Definition: Package.h:38
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:51
Candidate delta and patches for a package.
Policies and options for PackageProvider.
bool queryInstalled(const std::string &name_r, const Edition &ed_r, const Arch &arch_r) const
Evaluate callback.
function< bool(const std::string &, const Edition &, const Arch &)> QueryInstalledCB
Get installed Editions callback signature.
PackageProviderPolicy & queryInstalledCB(QueryInstalledCB queryInstalledCB_r)
Set callback.
Provide a package from a Repo.
PackageProvider(RepoMediaAccess &access, const PoolItem &pi_r, const PackageProviderPolicy &policy_r=PackageProviderPolicy())
Ctor taking the package to provide.
RW_pointer< Impl > _pimpl
Implementation class.
ManagedFile providePackage() const
Provide the package.
bool isCached() const
Whether the package is cached.
ManagedFile providePackageFromCache() const
Provide the package if it is cached.
Provides files from different repos.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
Wrapper for const correct access via Smart pointer types.
Definition: PtrTypes.h:286
PackageProvider implementation interface.