File indexing completed on 2024-05-12 17:16:24
0001 /* 0002 * Port for usage with qt-framework and development for kdesvn 0003 * Copyright (C) 2005-2009 by Rajko Albrecht (ral@alwins-world.de) 0004 * http://kdesvn.alwins-world.de 0005 */ 0006 /* 0007 * ==================================================================== 0008 * Copyright (c) 2002-2005 The RapidSvn Group. All rights reserved. 0009 * dev@rapidsvn.tigris.org 0010 * 0011 * This library is free software; you can redistribute it and/or 0012 * modify it under the terms of the GNU Lesser General Public 0013 * License as published by the Free Software Foundation; either 0014 * version 2.1 of the License, or (at your option) any later version. 0015 * 0016 * This library is distributed in the hope that it will be useful, 0017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0019 * Lesser General Public License for more details. 0020 * 0021 * You should have received a copy of the GNU Lesser General Public 0022 * License along with this library (in the file LGPL.txt); if not, 0023 * write to the Free Software Foundation, Inc., 51 Franklin St, 0024 * Fifth Floor, Boston, MA 02110-1301 USA 0025 * 0026 * This software consists of voluntary contributions made by many 0027 * individuals. For exact contribution history, see the revision 0028 * history and logs, available at http://rapidsvn.tigris.org/. 0029 * ==================================================================== 0030 */ 0031 0032 // svncpp 0033 #include "pool.h" 0034 0035 namespace svn 0036 { 0037 bool Pool::s_initialized = false; 0038 0039 apr_pool_t * 0040 Pool::pool_create(apr_pool_t *parent) 0041 { 0042 if (!s_initialized) { 0043 apr_pool_initialize(); 0044 s_initialized = true; 0045 } 0046 return svn_pool_create(parent); 0047 } 0048 0049 Pool::Pool(apr_pool_t *parent) 0050 : m_parent(parent), m_pool(pool_create(parent)) 0051 { 0052 } 0053 0054 Pool::~Pool() 0055 { 0056 if (m_pool) { 0057 svn_pool_destroy(m_pool); 0058 } 0059 } 0060 0061 apr_pool_t * 0062 Pool::pool() const 0063 { 0064 return m_pool; 0065 } 0066 0067 void 0068 Pool::renew() 0069 { 0070 if (m_pool) { 0071 svn_pool_destroy(m_pool); 0072 } 0073 m_pool = pool_create(m_parent); 0074 } 0075 } 0076 0077 /* ----------------------------------------------------------------- 0078 * local variables: 0079 * eval: (load-file "../../rapidsvn-dev.el") 0080 * end: 0081 */