libzypp  17.37.10
RpmPostTransCollector.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
11 #ifndef ZYPP_TARGET_RPMPOSTTRANSCOLLECTOR_H
12 #define ZYPP_TARGET_RPMPOSTTRANSCOLLECTOR_H
13 
14 #include <iosfwd>
15 
16 #include <zypp/base/PtrTypes.h>
17 #include <zypp/Pathname.h>
18 #include <zypp/IdString.h>
19 
21 namespace zypp
22 {
24  namespace target
25  {
26  namespace rpm { class RpmDb; }
27 
41  {
42  friend std::ostream & operator<<( std::ostream & str, const RpmPostTransCollector & obj );
43  friend std::ostream & dumpOn( std::ostream & str, const RpmPostTransCollector & obj );
44 
45  public:
48 
51 
52  public:
54  bool hasPosttransScript( const Pathname & rpmPackage_r );
55 
57  void collectPosttransInfo( const Pathname & rpmPackage_r, const std::vector<std::string> & runposttrans_r );
59  void collectPosttransInfo( const std::vector<std::string> & runposttrans_r );
60 
62  void executeScripts( rpm::RpmDb & rpm_r, const IdStringSet & obsoletedPackages_r );
63 
65  void discardScripts();
66 
67  public:
68  class Impl;
69  private:
71  };
72 
74  std::ostream & operator<<( std::ostream & str, const RpmPostTransCollector & obj );
75 
77  std::ostream & dumOn( std::ostream & str, const RpmPostTransCollector & obj );
78 
79  } // namespace target
81 } // namespace zypp
83 #endif // ZYPP_TARGET_RPMPOSTTRANSCOLLECTOR_H
Interface to the rpm program.
Definition: RpmDb.h:50
RpmPostTransCollector(Pathname root_r)
Default ctor.
void discardScripts()
Discard all remembered scripts and/or or dump_posttrans lines.
String related utilities and Regular expression matching.
void collectPosttransInfo(const Pathname &rpmPackage_r, const std::vector< std::string > &runposttrans_r)
Extract and remember a packages posttrans script or dump_posttrans lines for later execution...
friend std::ostream & dumpOn(std::ostream &str, const RpmPostTransCollector &obj)
RW_pointer< Impl > _pimpl
Implementation class.
Extract and remember posttrans scripts for later execution.
bool hasPosttransScript(const Pathname &rpmPackage_r)
Test whether a package defines a posttrans script.
friend std::ostream & operator<<(std::ostream &str, const RpmPostTransCollector &obj)
std::unordered_set< IdString > IdStringSet
Definition: IdString.h:29
RpmPostTransCollector implementation.
std::ostream & operator<<(std::ostream &str, const CommitPackageCache &obj)
void executeScripts(rpm::RpmDb &rpm_r, const IdStringSet &obsoletedPackages_r)
Execute the remembered scripts and/or or dump_posttrans lines.
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19