00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _SVNCPP_EXCEPTION_H_
00026 #define _SVNCPP_EXCEPTION_H_
00027
00028
00029 #include "svn_client.h"
00030
00031
00032 namespace svn
00033 {
00034
00038 class Exception
00039 {
00040 public:
00044 Exception(const char * message) throw();
00045
00046 ~Exception() throw();
00047
00051 const char * message() const;
00052
00056 apr_status_t apr_err() const;
00057
00058 protected:
00059 struct Data;
00060 Data * m;
00061
00062 private:
00063
00064 Exception(const Exception &) throw();
00065
00066 Exception() throw();
00067
00068 Exception & operator = (const Exception &);
00069 };
00070
00074 class ClientException : public Exception
00075 {
00076 public:
00080 ClientException(svn_error_t * error) throw();
00081
00082
00086 ClientException(apr_status_t status) throw();
00087
00088 ClientException(const char * message) throw()
00089 : Exception(message)
00090 {
00091 }
00092
00093
00097 ClientException(const ClientException & src) throw();
00098
00099 virtual ~ClientException() throw();
00100
00101 private:
00102 ClientException() throw();
00103
00104 ClientException & operator = (ClientException &);
00105 };
00106
00107 }
00108
00109 #endif
00110
00111
00112
00113
00114