libzypp  17.35.12
userrequestexception.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_CORE_BASE_USERREQUESTEXCEPTION_H
13 #define ZYPP_CORE_BASE_USERREQUESTEXCEPTION_H
14 
15 #include <iosfwd>
16 
17 #include <zypp/base/Exception.h>
18 
20 namespace zypp
21 {
22 
24  //
25  // CLASS NAME : UserRequestException
26  //
65  {
66  public:
67  enum Kind { UNSPECIFIED, IGNORE, SKIP, RETRY, ABORT };
68  public:
69  explicit
70  UserRequestException( const std::string & msg_r = std::string() );
71  UserRequestException( const std::string & msg_r, const Exception & history_r );
72  explicit
73  UserRequestException( Kind kind_r, const std::string & msg_r = std::string() );
74  UserRequestException( Kind kind_r, const std::string & msg_r, const Exception & history_r );
75  public:
76  Kind kind() const
77  { return _kind; }
78  protected:
79  std::ostream & dumpOn( std::ostream & str ) const override;
80  private:
82  };
84 
86 #define declException( EXCP, KIND ) \
87  struct ZYPP_API EXCP : public UserRequestException { \
88  explicit \
89  EXCP( const std::string & msg_r = std::string() ) \
90  : UserRequestException( KIND, msg_r ) \
91  {} \
92  EXCP( const std::string & msg_r, const Exception & history_r ) \
93  : UserRequestException( KIND, msg_r, history_r ) \
94  {} \
95  }
96 
97  declException( IgnoreRequestException, IGNORE );
98  declException( SkipRequestException, SKIP );
99  declException( RetryRequestException, RETRY );
100  declException( AbortRequestException, ABORT );
101 
102 #undef declException
103 
105 } // namespace zypp
107 #endif // ZYPP_CORE_BASE_USERREQUESTEXCEPTION_H
String related utilities and Regular expression matching.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Definition: ResTraits.h:93
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
Definition: Capability.cc:580
Base class for Exception.
Definition: Exception.h:146
Base for exceptions caused by explicit user request.
declException(PluginScriptNotConnected, PluginScriptException)
Script connection not open.
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19