SvnCpp
|
00001 /* 00002 * ==================================================================== 00003 * Copyright (c) 2002-2009 The RapidSvn Group. All rights reserved. 00004 * 00005 * This program is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program (in the file GPL.txt. 00017 * If not, see <http://www.gnu.org/licenses/>. 00018 * 00019 * This software consists of voluntary contributions made by many 00020 * individuals. For exact contribution history, see the revision 00021 * history and logs, available at http://rapidsvn.tigris.org/. 00022 * ==================================================================== 00023 */ 00024 00025 #ifndef _SVNCPP_EXCEPTION_H_ 00026 #define _SVNCPP_EXCEPTION_H_ 00027 00028 // subversion api 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 * local variables: 00112 * eval: (load-file "../../rapidsvn-dev.el") 00113 * end: 00114 */