00001 /* 00002 * ==================================================================== 00003 * Copyright (c) 2002-2006 The RapidSvn Group. All rights reserved. 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library 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 GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library (in the file LGPL.txt); if not, 00017 * write to the Free Software Foundation, Inc., 51 Franklin St, 00018 * Fifth Floor, Boston, MA 02110-1301 USA 00019 * 00020 * This software consists of voluntary contributions made by many 00021 * individuals. For exact contribution history, see the revision 00022 * history and logs, available at http://rapidsvn.tigris.org/. 00023 * ==================================================================== 00024 */ 00025 00026 #ifndef _SVNCPP_POOL_H_ 00027 #define _SVNCPP_POOL_H_ 00028 00029 // subversion api 00030 #include "svn_pools.h" 00031 00032 namespace svn 00033 { 00037 class Pool 00038 { 00039 public: 00045 Pool (apr_pool_t * parent = (apr_pool_t *)0); 00046 00047 virtual ~ Pool (); 00048 00052 apr_pool_t * 00053 pool () const; 00054 00058 operator apr_pool_t * () const 00059 { 00060 return m_pool; 00061 } 00062 00066 void renew (); 00067 00068 private: 00069 apr_pool_t * m_parent; 00070 apr_pool_t * m_pool; 00071 00072 Pool& operator=(const Pool&); 00073 00074 Pool (const Pool &); 00075 }; 00076 } 00077 00078 #endif 00079 00080 /* ----------------------------------------------------------------- 00081 * local variables: 00082 * eval: (load-file "../../rapidsvn-dev.el") 00083 * end: 00084 */