SvnCpp
entry.hpp
Go to the documentation of this file.
1 /*
2  * ====================================================================
3  * Copyright (c) 2002-2009 The RapidSvn Group. All rights reserved.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program (in the file GPL.txt.
17  * If not, see <http://www.gnu.org/licenses/>.
18  *
19  * This software consists of voluntary contributions made by many
20  * individuals. For exact contribution history, see the revision
21  * history and logs, available at http://rapidsvn.tigris.org/.
22  * ====================================================================
23  */
24 #ifndef _SVNCPP_ENTRY_HPP_
25 #define _SVNCPP_ENTRY_HPP_
26 
27 // subversion api
28 #include "svn_wc.h"
29 
30 // svncpp
31 #include "svncpp/pool.hpp"
32 
33 
34 namespace svn
35 {
40  class Entry
41  {
42  public:
53  Entry(const svn_wc_entry_t * src = 0);
54 
58  Entry(const Entry & src);
59 
63  virtual ~Entry();
64 
73  bool isValid() const
74  {
75  return m_valid;
76  }
77 
81  const char *
82  name() const
83  {
84  return m_entry->name;
85  }
86 
90  svn_revnum_t
91  revision() const
92  {
93  return m_entry->revision;
94  }
95 
99  const char *
100  url() const
101  {
102  return m_entry->url;
103  }
104 
108  const char *
109  repos() const
110  {
111  return m_entry->repos;
112  }
113 
117  const char *
118  uuid() const
119  {
120  return m_entry->uuid;
121  }
122 
126  svn_node_kind_t
127  kind() const
128  {
129  return m_entry->kind;
130  }
131 
135  svn_wc_schedule_t
136  schedule() const
137  {
138  return m_entry->schedule;
139  }
140 
144  bool
145  isCopied() const
146  {
147  return m_entry->copied != 0;
148  }
149 
153  bool
154  isDeleted() const
155  {
156  return m_entry->deleted != 0;
157  }
158 
162  bool
163  isAbsent() const
164  {
165  return m_entry->absent != 0;
166  }
167 
171  const char *
172  copyfromUrl() const
173  {
174  return m_entry->copyfrom_url;
175  }
176 
180  svn_revnum_t
181  copyfromRev() const
182  {
183  return m_entry->copyfrom_rev;
184  }
185 
189  const char *
190  conflictOld() const
191  {
192  return m_entry->conflict_old;
193  }
194 
198  const char *
199  conflictNew() const
200  {
201  return m_entry->conflict_new;
202  }
203 
207  const char *
208  conflictWrk() const
209  {
210  return m_entry->conflict_wrk;
211  }
212 
216  const char *
217  prejfile() const
218  {
219  return m_entry->prejfile;
220  }
221 
226  apr_time_t
227  textTime() const
228  {
229  return m_entry->text_time;
230  }
231 
236  apr_time_t
237  propTime() const
238  {
239  return m_entry->prop_time;
240  }
241 
246  const char *
247  checksum() const
248  {
249  return m_entry->checksum;
250  }
251 
255  svn_revnum_t
256  cmtRev() const
257  {
258  return m_entry->cmt_rev;
259  }
260 
264  apr_time_t
265  cmtDate() const
266  {
267  return m_entry->cmt_date;
268  }
269 
273  const char *
274  cmtAuthor() const
275  {
276  return m_entry->cmt_author;
277  }
278 
282  operator svn_wc_entry_t * () const
283  {
284  return m_entry;
285  }
286 
290  Entry &
291  operator = (const Entry &);
292 
293  private:
294  svn_wc_entry_t * m_entry;
295  Pool m_pool;
296  bool m_valid;
297 
301  void
302  init(const svn_wc_entry_t * src);
303  };
304 
305 }
306 
307 #endif
308 /* -----------------------------------------------------------------
309  * local variables:
310  * eval: (load-file "../../rapidsvn-dev.el")
311  * end:
312  */