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