00001 /*
00002 * ====================================================================
00003 * Copyright (c) 2002, 2003 The RapidSvn Group. All rights reserved.
00004 *
00005 * This software is licensed as described in the file LICENSE.txt,
00006 * which you should have received as part of this distribution.
00007 *
00008 * This software consists of voluntary contributions made by many
00009 * individuals. For exact contribution history, see the revision
00010 * history and logs, available at http://rapidsvn.tigris.org/.
00011 * ====================================================================
00012 */
00013
00014 #ifndef _SVNCPP_EXCEPTION_H_
00015 #define _SVNCPP_EXCEPTION_H_
00016
00017 // subversion api
00018 #include "svn_client.h"
00019
00020 namespace svn
00021 {
00022
00026 class Exception
00027 {
00028 public:
00032 Exception (const char * message) throw ();
00033
00034 ~Exception () throw ();
00035
00039 const char * message () const;
00040
00044 const apr_status_t apr_err () const;
00045
00046 protected:
00047 struct Data;
00048 Data * m;
00049
00050 private:
00051
00052 Exception (const Exception &) throw ();
00053
00054 Exception () throw ();
00055
00056 Exception & operator = (const Exception &);
00057 };
00058
00062 class ClientException : public Exception
00063 {
00064 public:
00068 ClientException (svn_error_t * error) throw ();
00069
00073 ClientException (const ClientException & src) throw ();
00074
00075 virtual ~ClientException () throw ();
00076
00077 private:
00078 ClientException () throw ();
00079
00080 ClientException & operator = (ClientException &);
00081 };
00082
00083 }
00084
00085 #endif
00086 /* -----------------------------------------------------------------
00087 * local variables:
00088 * eval: (load-file "../../rapidsvn-dev.el")
00089 * end:
00090 */
1.2.15