SvnCpp
|
00001 /* 00002 * ==================================================================== 00003 * Copyright (c) 2002-2009 The RapidSvn Group. All rights reserved. 00004 * 00005 * This program is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program 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 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program (in the file GPL.txt. 00017 * If not, see <http://www.gnu.org/licenses/>. 00018 * 00019 * This software consists of voluntary contributions made by many 00020 * individuals. For exact contribution history, see the revision 00021 * history and logs, available at http://rapidsvn.tigris.org/. 00022 * ==================================================================== 00023 */ 00024 00025 #ifndef _SVNCPP_STATUS_SELECTION_HPP_ 00026 #define _SVNCPP_STATUS_SELECTION_HPP_ 00027 00028 // svncpp 00029 #include "svncpp/status.hpp" 00030 #include "svncpp/path.hpp" 00031 00032 00033 namespace svn 00034 { 00035 // forward declarations 00036 class Pool; 00037 class Targets; 00038 00042 class StatusSel 00043 { 00044 public: 00048 StatusSel(); 00049 00053 virtual ~ StatusSel(); 00054 00060 StatusSel(const StatusSel & src); 00061 00065 StatusSel & 00066 operator = (const StatusSel & src); 00067 00074 const apr_array_header_t * 00075 array(const Pool & pool) const; 00076 00082 const StatusVector & 00083 statusVector() const; 00084 00090 const Targets & 00091 targets() const; 00092 00099 const Path & 00100 target() const; 00101 00105 size_t size() const; 00106 00110 void 00111 reserve(size_t size); 00112 00118 void 00119 push_back(const Status & status); 00120 00124 void 00125 clear(); 00126 00132 operator const PathVector & () const; 00133 00135 bool 00136 hasFiles() const; 00137 00139 bool 00140 hasDirs() const; 00141 00143 bool 00144 hasVersioned() const; 00145 00147 bool 00148 hasUnversioned() const; 00149 00151 bool 00152 hasUrl() const; 00153 00155 bool 00156 hasLocal() const; 00157 00158 private: 00159 struct Data; 00160 Data * m; 00161 }; 00162 } 00163 00164 #endif 00165 /* ----------------------------------------------------------------- 00166 * local variables: 00167 * eval: (load-file "../../rapidsvn-dev.el") 00168 * end: 00169 */