File indexing completed on 2024-05-12 17:16:24
0001 /*************************************************************************** 0002 * Copyright (C) 2005-2009 by Rajko Albrecht * 0003 * ral@alwins-world.de * 0004 * * 0005 * This program is free software; you can redistribute it and/or * 0006 * modify it under the terms of the GNU Lesser General Public * 0007 * License as published by the Free Software Foundation; either * 0008 * version 2.1 of the License, or (at your option) any later version. * 0009 * * 0010 * This program is distributed in the hope that it will be useful, * 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 0013 * Lesser General Public License for more details. * 0014 * * 0015 * You should have received a copy of the GNU Lesser General Public * 0016 * License along with this program (in the file LGPL.txt); if not, * 0017 * write to the Free Software Foundation, Inc., 51 Franklin St, * 0018 * Fifth Floor, Boston, MA 02110-1301 USA * 0019 * * 0020 * This software consists of voluntary contributions made by many * 0021 * individuals. For exact contribution history, see the revision * 0022 * history and logs, available at http://kdesvn.alwins-world.de. * 0023 ***************************************************************************/ 0024 #pragma once 0025 0026 #include <QString> 0027 #include <svnqt/svnqt_defines.h> 0028 0029 namespace svn 0030 { 0031 0032 namespace repository 0033 { 0034 0035 class CreateRepoParameterData; 0036 0037 class SVNQT_EXPORT CreateRepoParameter 0038 { 0039 QString _path; 0040 QString _fstype; 0041 bool _bdbnosync; 0042 bool _bdbautologremove; 0043 bool _pre_1_5_compat; 0044 bool _pre_1_6_compat; 0045 bool _pre_1_8_compat; 0046 0047 public: 0048 CreateRepoParameter() 0049 : _fstype(QLatin1String("fsfs")) 0050 , _bdbnosync(false) 0051 , _bdbautologremove(true) 0052 , _pre_1_5_compat(false) 0053 , _pre_1_6_compat(false) 0054 , _pre_1_8_compat(false) 0055 {} 0056 0057 /** path to create 0058 * default is emtpy 0059 */ 0060 const QString &path() const { return _path; } 0061 /** path to create 0062 * default is emtpy 0063 */ 0064 CreateRepoParameter &path(const QString &path) { _path = path; return *this; } 0065 /** fs type of repository 0066 * 0067 * default is "fsfs" 0068 */ 0069 const QString &fstype() const { return _fstype; } 0070 /** fs type of repository 0071 * 0072 * default is "fsfs" 0073 */ 0074 CreateRepoParameter &fstype(const QString &fstype) { _fstype = fstype; return *this; } 0075 /** switch of syncing of bdb 0076 * 0077 * default is false 0078 */ 0079 bool bdbnosync() const { return _bdbnosync; } 0080 /** switch of syncing of bdb 0081 * 0082 * default is false 0083 */ 0084 CreateRepoParameter &bdbnosync(bool b) { _bdbnosync = b; return *this; } 0085 /** bdb automatic remove log 0086 * 0087 * default is true 0088 */ 0089 bool bdbautologremove() const { return _bdbautologremove; } 0090 /** bdb automatic remove log 0091 * 0092 * default is true 0093 */ 0094 CreateRepoParameter &bdbautologremove(bool b) { _bdbautologremove = b; return *this; } 0095 0096 /** default is false */ 0097 bool pre15_compat() const { return _pre_1_5_compat; } 0098 /** default is false */ 0099 CreateRepoParameter &pre15_compat(bool b) { _pre_1_5_compat = b; return *this; } 0100 /** default is false */ 0101 bool pre16_compat() const { return _pre_1_6_compat; } 0102 /** default is false */ 0103 CreateRepoParameter &pre16_compat(bool b) { _pre_1_6_compat = b; return *this; } 0104 /** default is false */ 0105 bool pre18_compat() const { return _pre_1_8_compat; } 0106 /** default is false */ 0107 CreateRepoParameter &pre18_compat(bool b) { _pre_1_8_compat = b; return *this; } 0108 0109 }; 0110 0111 } // namespace repository 0112 } // namespace svn