RpmException.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_TARGET_RPM_RPMEXCEPTION_H
00013 #define ZYPP_TARGET_RPM_RPMEXCEPTION_H
00014
00015 #include <iosfwd>
00016
00017 #include <string>
00018
00019 #include "zypp/base/Exception.h"
00020 #include "zypp/Pathname.h"
00021 #include "zypp/Url.h"
00022
00024 namespace zypp
00025 {
00026 namespace target
00027 {
00029 namespace rpm
00030 {
00032
00033
00037 class RpmException : public Exception
00038 {
00039 public:
00043 RpmException()
00044 : Exception( "Rpm Exception" )
00045 {}
00049 RpmException( const std::string & msg_r )
00050 : Exception( msg_r )
00051 {}
00053 virtual ~RpmException() throw()
00054 {};
00055 };
00056
00057 class GlobalRpmInitException : public RpmException
00058 {
00059 public:
00063 GlobalRpmInitException()
00064 : RpmException("Global RPM initialization failed")
00065 {}
00067 virtual ~GlobalRpmInitException() throw()
00068 {};
00069 private:
00070 };
00071
00072 class RpmInvalidRootException : public RpmException
00073 {
00074 public:
00078 RpmInvalidRootException( const Pathname & root_r,
00079 const Pathname & dbpath_r )
00080 : RpmException()
00081 , _root(root_r.asString())
00082 , _dbpath(dbpath_r.asString())
00083 {}
00085 virtual ~RpmInvalidRootException() throw()
00086 {};
00087 std::string root() const
00088 {
00089 return _root;
00090 }
00091 std::string dbpath() const
00092 {
00093 return _dbpath;
00094 }
00095 protected:
00096 virtual std::ostream & dumpOn( std::ostream & str ) const;
00097 private:
00098 std::string _root;
00099 std::string _dbpath;
00100 };
00101
00102 class RpmAccessBlockedException : public RpmException
00103 {
00104 public:
00105 RpmAccessBlockedException( const Pathname & root_r,
00106 const Pathname & dbpath_r )
00107 : RpmException()
00108 , _root(root_r.asString())
00109 , _dbpath(dbpath_r.asString())
00110 {}
00111 virtual ~RpmAccessBlockedException() throw()
00112 {};
00113 std::string root() const
00114 {
00115 return _root;
00116 }
00117 std::string dbpath() const
00118 {
00119 return _dbpath;
00120 }
00121 protected:
00122 virtual std::ostream & dumpOn( std::ostream & str ) const;
00123 private:
00124 std::string _root;
00125 std::string _dbpath;
00126 };
00127
00128 class RpmSubprocessException : public RpmException
00129 {
00130 public:
00131 RpmSubprocessException(const std::string & errmsg_r)
00132 : RpmException()
00133 , _errmsg(errmsg_r)
00134 {}
00135 virtual ~RpmSubprocessException() throw()
00136 {};
00137 protected:
00138 virtual std::ostream & dumpOn( std::ostream & str ) const;
00139 private:
00140 std::string _errmsg;
00141 };
00142
00143 class RpmInitException : public RpmException
00144 {
00145 public:
00146 RpmInitException(const Pathname & root_r,
00147 const Pathname & dbpath_r)
00148 : RpmException()
00149 , _root(root_r.asString())
00150 , _dbpath(dbpath_r.asString())
00151 {}
00152 virtual ~RpmInitException() throw()
00153 {};
00154 protected:
00155 virtual std::ostream & dumpOn( std::ostream & str ) const;
00156 private:
00157 std::string _root;
00158 std::string _dbpath;
00159 };
00160
00161 class RpmDbOpenException : public RpmException
00162 {
00163 public:
00164 RpmDbOpenException(const Pathname & root_r,
00165 const Pathname & dbpath_r)
00166 : RpmException()
00167 , _root(root_r.asString())
00168 , _dbpath(dbpath_r.asString())
00169 {}
00170 virtual ~RpmDbOpenException() throw()
00171 {};
00172 protected:
00173 virtual std::ostream & dumpOn( std::ostream & str ) const;
00174 private:
00175 std::string _root;
00176 std::string _dbpath;
00177 };
00178
00179 class RpmDbAlreadyOpenException : public RpmException
00180 {
00181 public:
00182 RpmDbAlreadyOpenException(const Pathname & old_root_r,
00183 const Pathname & old_dbpath_r,
00184 const Pathname & new_root_r,
00185 const Pathname & new_dbpath_r)
00186 : RpmException()
00187 , _old_root(old_root_r.asString())
00188 , _old_dbpath(old_dbpath_r.asString())
00189 , _new_root(new_root_r.asString())
00190 , _new_dbpath(new_dbpath_r.asString())
00191 {}
00192 virtual ~RpmDbAlreadyOpenException() throw()
00193 {};
00194 protected:
00195 virtual std::ostream & dumpOn( std::ostream & str ) const;
00196 private:
00197 std::string _old_root;
00198 std::string _old_dbpath;
00199 std::string _new_root;
00200 std::string _new_dbpath;
00201 };
00202
00203 class RpmDbNotOpenException : public RpmException
00204 {
00205 public:
00206 RpmDbNotOpenException()
00207 : RpmException()
00208 {}
00209 virtual ~RpmDbNotOpenException() throw()
00210 {};
00211 protected:
00212 virtual std::ostream & dumpOn( std::ostream & str ) const;
00213 private:
00214 };
00215
00216 class RpmDbConvertException : public RpmException
00217 {
00218 public:
00219 RpmDbConvertException()
00220 : RpmException()
00221 {}
00222 virtual ~RpmDbConvertException() throw()
00223 {};
00224 protected:
00225 virtual std::ostream & dumpOn( std::ostream & str ) const;
00226 private:
00227 };
00228
00229 class RpmNullDatabaseException : public RpmException
00230 {
00231 public:
00232 RpmNullDatabaseException()
00233 : RpmException()
00234 {}
00235 virtual ~RpmNullDatabaseException() throw()
00236 {};
00237 protected:
00238 virtual std::ostream & dumpOn( std::ostream & str ) const;
00239 private:
00240 };
00241
00242
00243
00245 }
00246 }
00247 }
00249 #endif // ZYPP_TARGET_RPM_RPMEXCEPTION_H