libzypp  17.28.0
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
zypp::PoolItem
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:51
zypp::repo::PackageProvider::_pimpl
RW_pointer< Impl > _pimpl
Implementation class.
Definition: PackageProvider.h:97
zypp::repo::PackageProvider::providePackage
ManagedFile providePackage() const
Provide the package.
Definition: PackageProvider.cc:695
zypp::Edition
Edition represents [epoch:]version[-release]
Definition: Edition.h:61
zypp::Package::constPtr
TraitsType::constPtrType constPtr
Definition: Package.h:38
zypp::repo::PackageProvider::PackageProvider
PackageProvider(RepoMediaAccess &access, const PoolItem &pi_r, const PackageProviderPolicy &policy_r=PackageProviderPolicy())
Ctor taking the package to provide.
Definition: PackageProvider.cc:679
zypp::Arch
Architecture.
Definition: Arch.h:37
zypp::repo::PackageProviderPolicy::queryInstalled
bool queryInstalled(const std::string &name_r, const Edition &ed_r, const Arch &arch_r) const
Evaluate callback.
Definition: PackageProvider.cc:69
zypp::repo::PackageProvider::~PackageProvider
~PackageProvider()
Definition: PackageProvider.cc:692
bool
zypp::RW_pointer< Impl >
Package.h
RepoProvideFile.h
zypp::repo::PackageProviderPolicy
Policies and options for PackageProvider.
Definition: PackageProvider.h:35
ZYppCallbacks.h
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
zypp::repo::PackageProviderPolicy::queryInstalledCB
PackageProviderPolicy & queryInstalledCB(QueryInstalledCB queryInstalledCB_r)
Set callback.
Definition: PackageProvider.h:41
zypp::repo::PackageProvider::providePackageFromCache
ManagedFile providePackageFromCache() const
Provide the package if it is cached.
Definition: PackageProvider.cc:698
zypp::repo::PackageProvider::isCached
bool isCached() const
Whether the package is cached.
Definition: PackageProvider.cc:701
zypp::repo::PackageProviderPolicy::_queryInstalledCB
QueryInstalledCB _queryInstalledCB
Definition: PackageProvider.h:50
zypp::repo::RepoMediaAccess
Provides files from different repos.
Definition: RepoProvideFile.h:61
zypp::AutoDispose
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition: AutoDispose.h:93
zypp::repo::DeltaCandidates
Candidate delta and patches for a package.
Definition: DeltaCandidates.h:37
zypp::repo::PackageProviderPolicy::QueryInstalledCB
function< bool(const std::string &, const Edition &, const Arch &)> QueryInstalledCB
Get installed Editions callback signature.
Definition: PackageProvider.h:38
zypp::repo::PackageProvider::Impl
PackageProvider implementation interface.
Definition: PackageProvider.cc:83
DeltaCandidates.h
zypp::repo::PackageProvider
Provide a package from a Repo.
Definition: PackageProvider.h:61