libzypp  17.31.31
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 #include <zypp/ManagedFile.h>
25 
26 typedef struct _GPollFD GPollFD;
27 
29 namespace zypp
30 {
31  namespace zypp_detail
33  {
34 
36  //
37  // CLASS NAME : ZYppImpl
38  //
40  class ZYppImpl
41  {
42  friend std::ostream & operator<<( std::ostream & str, const ZYppImpl & obj );
43 
44  public:
46  ZYppImpl();
48  ~ZYppImpl();
49 
50  public:
52  ResPool pool() const
53  { return ResPool::instance(); }
54 
56  { return ResPool::instance().proxy(); }
57 
59  KeyRing_Ptr keyRing() const
60  { return _keyring; }
61 
62 
63  Resolver_Ptr resolver() const
64  { return _resolver; }
65 
66  public:
71  Target_Ptr target() const;
72 
77  { return _target; }
78 
83  void initializeTarget( const Pathname & root, bool doRebuild_r );
84 
88  void finishTarget();
89 
91  ZYppCommitResult commit( const ZYppCommitPolicy & policy_r );
92 
94  void installSrcPackage( const SrcPackage_constPtr & srcPackage_r );
95 
97  ManagedFile provideSrcPackage( const SrcPackage_constPtr & srcPackage_r );
98 
99  public:
101  Pathname homePath() const;
102 
104  Pathname tmpPath() const;
105 
107  void setHomePath( const Pathname & path );
108 
109  public:
113 
114  public:
116  void changeTargetTo( Target_Ptr newtarget_r );
117 
121  static void setShutdownSignal();
122 
126  static void clearShutdownSignal();
127 
128  private:
132  Resolver_Ptr _resolver;
133 
134  KeyRing_Ptr _keyring;
138  shared_ptr<DiskUsageCounter> _disk_usage;
139  };
141 
143  std::ostream & operator<<( std::ostream & str, const ZYppImpl & obj );
144 
156  int zypp_poll( std::vector<GPollFD> &fds, int timeout = -1 );
157 
158 
160  } // namespace zypp_detail
163 } // namespace zypp
165 #endif // ZYPP_ZYPP_DETAIL_ZYPPIMPL_H
Target_Ptr target() const
Definition: ZYppImpl.cc:167
KeyRing_Ptr keyRing() const
Definition: ZYppImpl.h:59
ResPoolProxy proxy() const
preliminary
Definition: ResPool.cc:58
void setHomePath(const Pathname &path)
set the home, if you need to change it
Definition: ZYppImpl.cc:270
Result returned from ZYpp::commit.
struct _GPollFD GPollFD
Definition: ZYppImpl.h:26
static void clearShutdownSignal()
Disable the shutdown signal for zypp_poll calls.
Definition: ZYppImpl.cc:288
String related utilities and Regular expression matching.
DiskUsageCounter::MountPointSet diskUsage()
Definition: ZYppImpl.cc:141
Resolver_Ptr resolver() const
Definition: ZYppImpl.h:63
DiskUsageCounter::MountPointSet getPartitions() const
Definition: ZYppImpl.cc:156
ResPool::instance().proxy();.
Definition: ResPoolProxy.h:34
ResPoolProxy poolProxy() const
Definition: ZYppImpl.h:55
void initializeTarget(const Pathname &root, bool doRebuild_r)
Definition: ZYppImpl.cc:183
void changeTargetTo(Target_Ptr newtarget_r)
Hook for actions to trigger if the Target changes (initialize/finish)
Definition: ZYppImpl.cc:174
std::set< MountPoint > MountPointSet
shared_ptr< DiskUsageCounter > _disk_usage
defined mount points, used for disk usage counting
Definition: ZYppImpl.h:138
ZYppCommitResult commit(const ZYppCommitPolicy &policy_r)
Commit changes and transactions.
Definition: ZYppImpl.cc:211
ZYppImpl()
Default ctor.
Definition: ZYppImpl.cc:116
Options and policies for ZYpp::commit.
Pathname tmpPath() const
Get the path where zypp related plugins store tmp data.
Definition: ZYppImpl.cc:273
void installSrcPackage(const SrcPackage_constPtr &srcPackage_r)
Install a source package on the Target.
Definition: ZYppImpl.cc:250
Pathname homePath() const
Get the path where zypp related plugins store persistent data and caches.
Definition: ZYppImpl.cc:267
std::ostream & operator<<(std::ostream &str, const ZYppImpl &obj)
Definition: ZYppImpl.cc:308
Global ResObject pool.
Definition: ResPool.h:60
static void setShutdownSignal()
Enable the shutdown signal for zypp_poll calls.
Definition: ZYppImpl.cc:276
Target_Ptr getTarget() const
Same as target but returns NULL if target is not initialized, instead of throwing.
Definition: ZYppImpl.h:76
friend std::ostream & operator<<(std::ostream &str, const ZYppImpl &obj)
Definition: ZYppImpl.cc:308
ResPool pool() const
Definition: ZYppImpl.h:52
int zypp_poll(std::vector< GPollFD > &fds, int timeout)
Small wrapper around g_poll that additionally listens to the shutdown FD returned by ZYpp::shutdownSi...
Definition: ZYppImpl.cc:313
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
void setPartitions(const DiskUsageCounter::MountPointSet &mp)
Definition: ZYppImpl.cc:150
ManagedFile provideSrcPackage(const SrcPackage_constPtr &srcPackage_r)
Install a source package on the Target.
Definition: ZYppImpl.cc:257
static ResPool instance()
Singleton ctor.
Definition: ResPool.cc:37