libzypp  11.13.5
ZYppImpl.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_ZYPP_DETAIL_ZYPPIMPL_H
13 #define ZYPP_ZYPP_DETAIL_ZYPPIMPL_H
14 
15 #include <iosfwd>
16 
17 #include "zypp/TmpPath.h"
18 #include "zypp/Target.h"
19 #include "zypp/Resolver.h"
20 #include "zypp/KeyRing.h"
21 #include "zypp/ZYppCommit.h"
22 #include "zypp/ResTraits.h"
23 #include "zypp/DiskUsageCounter.h"
24 
25 using namespace zypp::filesystem;
26 
28 namespace zypp
29 {
30 
31  namespace zypp_detail
32  {
33 
35  //
36  // CLASS NAME : ZYppImpl
37  //
39  class ZYppImpl
40  {
41  friend std::ostream & operator<<( std::ostream & str, const ZYppImpl & obj );
42 
43  public:
45  ZYppImpl();
47  ~ZYppImpl();
48 
49  public:
51  ResPool pool() const
52  { return ResPool::instance(); }
53 
55  { return ResPool::instance().proxy(); }
56 
58  KeyRing_Ptr keyRing() const
59  { return _keyring; }
60 
61 
62  Resolver_Ptr resolver() const
63  { return _resolver; }
64 
65  public:
70  Target_Ptr target() const;
71 
75  Target_Ptr getTarget() const
76  { return _target; }
77 
82  void initializeTarget( const Pathname & root, bool doRebuild_r );
83 
87  void finishTarget();
88 
90  ZYppCommitResult commit( const ZYppCommitPolicy & policy_r );
91 
93  void installSrcPackage( const SrcPackage_constPtr & srcPackage_r );
94 
95  public:
97  Pathname homePath() const;
98 
100  Pathname tmpPath() const;
101 
103  void setHomePath( const Pathname & path );
104 
105  public:
107  void setPartitions(const DiskUsageCounter::MountPointSet &mp);
108  DiskUsageCounter::MountPointSet getPartitions() const;
109 
110  private:
112  Target_Ptr _target;
114  Resolver_Ptr _resolver;
115 
116  KeyRing_Ptr _keyring;
118  Pathname _home_path;
120  shared_ptr<DiskUsageCounter> _disk_usage;
121  };
123 
125  std::ostream & operator<<( std::ostream & str, const ZYppImpl & obj );
126 
128  } // namespace zypp_detail
131 } // namespace zypp
133 #endif // ZYPP_ZYPP_DETAIL_ZYPPIMPL_H