File indexing completed on 2024-04-28 05:42:08
0001 /*************************************************************************** 0002 * Copyright (C) 2007-2010 by Rajko Albrecht ral@alwins-world.de * 0003 * https://kde.org/applications/development/org.kde.kdesvn * 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 https://commits.kde.org/kdesvn. * 0023 ***************************************************************************/ 0024 0025 #ifndef CLIENT_UPDATE_PARAMETER_H 0026 #define CLIENT_UPDATE_PARAMETER_H 0027 0028 #include <QScopedPointer> 0029 #include <svnqt/revision.h> 0030 #include <svnqt/svnqt_defines.h> 0031 #include <svnqt/svnqttypes.h> 0032 #include <svnqt/targets.h> 0033 0034 namespace svn 0035 { 0036 0037 struct UpdateParameterData; 0038 0039 class SVNQT_EXPORT UpdateParameter 0040 { 0041 private: 0042 //! internal data 0043 QScopedPointer<UpdateParameterData> _data; 0044 0045 public: 0046 //! constructor 0047 UpdateParameter(); 0048 //! non-virtual destructor 0049 ~UpdateParameter(); 0050 0051 //! returns the targets for update 0052 const Targets &targets() const; 0053 //! set the targets for update 0054 UpdateParameter &targets(const Targets &_target); 0055 0056 //! returns the revision the update should work on 0057 const Revision &revision() const; 0058 //! set the revision the update should work on 0059 UpdateParameter &revision(const Revision &rev); 0060 0061 //! return depth of update operation 0062 /*! 0063 * \sa svn::Depth 0064 */ 0065 Depth depth() const; 0066 //! set depth of update operation 0067 /*! 0068 * \sa svn::Depth 0069 */ 0070 UpdateParameter &depth(Depth depth); 0071 0072 //! return if update should ignore external definitions 0073 bool ignore_externals() const; 0074 //! set if update should ignore external definitions 0075 UpdateParameter &ignore_externals(bool); 0076 0077 bool allow_unversioned() const; 0078 UpdateParameter &allow_unversioned(bool); 0079 0080 bool sticky_depth() const; 0081 UpdateParameter &sticky_depth(bool); 0082 0083 bool make_parents() const; 0084 UpdateParameter &make_parents(bool); 0085 0086 bool add_as_modification() const; 0087 UpdateParameter &add_as_modification(bool); 0088 }; 0089 } 0090 0091 #endif // CLIENT_UPDATE_PARAMETER_H