libzypp  15.28.6
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  class Impl;
98  private:
100  };
102 
103  } // namespace repo
105 } // namespace zypp
107 #endif // ZYPP_SOURCE_PACKAGEPROVIDER_H
PackageProvider implementation interface.
Candidate delta and patches for a package.
PackageProviderPolicy & queryInstalledCB(QueryInstalledCB queryInstalledCB_r)
Set callback.
bool isCached() const
Whether the package is cached.
Architecture.
Definition: Arch.h:36
Policies and options for PackageProvider.
Edition represents [epoch:]version[-release]
Definition: Edition.h:60
PackageProvider(RepoMediaAccess &access, const PoolItem &pi_r, const PackageProviderPolicy &policy_r=PackageProviderPolicy())
Ctor taking the package to provide.
function< bool(const std::string &, const Edition &, const Arch &)> QueryInstalledCB
Get installed Editions callback signature.
RW_pointer< Impl > _pimpl
Implementation class.
ManagedFile providePackageFromCache() const
Provide the package if it is cached.
Provides files from different repos.
Provide a package from a Repo.
ManagedFile providePackage() const
Provide the package.
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition: AutoDispose.h:92
bool queryInstalled(const std::string &name_r, const Edition &ed_r, const Arch &arch_r) const
Evaluate callback.
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:50
TraitsType::constPtrType constPtr
Definition: Package.h:38