libzypp  17.3.0
ZYpp.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_ZYPP_H
13 #define ZYPP_ZYPP_H
14 
15 #include <iosfwd>
16 
17 #include "zypp/base/NonCopyable.h"
18 #include "zypp/base/PtrTypes.h"
19 #include "zypp/APIConfig.h"
20 
21 #include "zypp/ZConfig.h"
22 #include "zypp/ManagedFile.h"
23 
24 #include "zypp/ZYppCommit.h"
25 #include "zypp/ResTraits.h"
26 
27 #include "zypp/Target.h"
28 #include "zypp/Resolver.h"
29 #include "zypp/KeyRing.h"
30 #include "zypp/DiskUsageCounter.h"
31 
33 namespace zypp
34 {
35 
36  namespace zypp_detail
37  {
38  class ZYppImpl;
39  }
40 
41  class ZYppFactory;
42  class ResPool;
43  class ResPoolProxy;
44  class KeyRing;
45 
47  //
48  // CLASS NAME : ZYpp
49  //
54  class ZYpp : private base::NonCopyable
55  {
56  friend std::ostream & operator<<( std::ostream & str, const ZYpp & obj );
57 
58  public:
59  // can't get swig working if shared_ptr is without namespace here
60  typedef ::boost::shared_ptr<ZYpp> Ptr;
61  typedef ::boost::shared_ptr<const ZYpp> constPtr;
62 
63  public:
64 
69  ResPool pool() const;
70 
75  ResPoolProxy poolProxy() const;
76 
78 
79  void setPartitions(const DiskUsageCounter::MountPointSet &mp);
80 
81  DiskUsageCounter::MountPointSet getPartitions() const;
82 
83  public:
87  Target_Ptr target() const;
88 
92  Target_Ptr getTarget() const;
93 
100  void initializeTarget(const Pathname & root, bool doRebuild_r = false);
101 
105  void finishTarget();
106 
107 
108  public:
110 
116  ZYppCommitResult commit( const ZYppCommitPolicy & policy_r );
117 
121  void installSrcPackage( const SrcPackage_constPtr & srcPackage_r );
122 
126  ManagedFile provideSrcPackage( const SrcPackage_constPtr & srcPackage_r );
127 
128  public:
130  Resolver_Ptr resolver() const;
131  KeyRing_Ptr keyRing() const;
132 
133  public:
135  Pathname homePath() const;
136 
138  Pathname tmpPath() const;
139 
141  void setHomePath( const Pathname & path );
142 
143  private:
145  friend class ZYppFactory;
147  typedef shared_ptr<Impl> Impl_Ptr;
149  explicit ZYpp( const Impl_Ptr & impl_r );
150  private:
152  friend void ::boost::checked_delete<ZYpp>(ZYpp*); // template<class T> inline void checked_delete(T * x)
154  ~ZYpp();
155  private:
158  };
160 
162 } // namespace zypp
164 #endif // ZYPP_ZYPP_H
Result returned from ZYpp::commit.
ZYppCommitResult CommitResult
Definition: ZYpp.h:109
String related utilities and Regular expression matching.
shared_ptr< Impl > Impl_Ptr
Definition: ZYpp.h:147
ResPool::instance().proxy();.
Definition: ResPoolProxy.h:34
zypp_detail::ZYppImpl Impl
Definition: ZYpp.h:146
std::set< MountPoint > MountPointSet
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Definition: NonCopyable.h:26
Options and policies for ZYpp::commit.
Provides API related macros.
::boost::shared_ptr< ZYpp > Ptr
Definition: ZYpp.h:60
::boost::shared_ptr< const ZYpp > constPtr
Definition: ZYpp.h:61
ZYpp factory class (Singleton)
Definition: ZYppFactory.h:43
std::ostream & operator<<(std::ostream &str, const ZYppImpl &obj)
Definition: ZYppImpl.cc:214
Global ResObject pool.
Definition: ResPool.h:60
RW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: ZYpp.h:157
static ResPoolProxy poolProxy()
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition: AutoDispose.h:92
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1