entry.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002-2006 The RapidSvn Group.  All rights reserved.
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  * 
00010  * This library 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 GNU
00013  * Lesser General Public License for more details.
00014  * 
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library (in the file LGPL.txt); if not, 
00017  * write to the Free Software Foundation, Inc., 51 Franklin St, 
00018  * Fifth Floor, Boston, MA  02110-1301  USA
00019  *
00020  * This software consists of voluntary contributions made by many
00021  * individuals.  For exact contribution history, see the revision
00022  * history and logs, available at http://rapidsvn.tigris.org/.
00023  * ====================================================================
00024  */
00025 #ifndef _SVNCPP_ENTRY_HPP_
00026 #define _SVNCPP_ENTRY_HPP_
00027 
00028 // subversion api
00029 #include "svn_wc.h"
00030 
00031 // svncpp
00032 #include "svncpp/pool.hpp"
00033 
00034 
00035 namespace svn
00036 {
00041   class Entry
00042   {
00043   public:
00054     Entry (const svn_wc_entry_t * src = 0);
00055 
00059     Entry (const Entry & src);
00060 
00064     virtual ~Entry ();
00065 
00074     bool isValid () const
00075     {
00076       return m_valid;
00077     }
00078 
00082     const char *
00083     name () const
00084     {
00085       return m_entry->name;
00086     }
00087 
00091     const svn_revnum_t 
00092     revision () const
00093     {
00094       return m_entry->revision;
00095     }
00096 
00100     const char * 
00101     url () const
00102     {
00103       return m_entry->url;
00104     }
00105 
00109     const char *
00110     repos () const
00111     {
00112       return m_entry->repos;
00113     }
00114 
00118     const char *
00119     uuid () const
00120     {
00121       return m_entry->uuid;
00122     }
00123 
00127     const svn_node_kind_t
00128     kind () const
00129     {
00130       return m_entry->kind;
00131     }
00132 
00136     const svn_wc_schedule_t
00137     schedule () const
00138     {
00139       return m_entry->schedule;
00140     }
00141 
00145     const bool 
00146     isCopied () const
00147     {
00148       return m_entry->copied != 0;
00149     }
00150     
00154     const bool
00155     isDeleted () const
00156     {
00157       return m_entry->deleted != 0;
00158     }
00159 
00163     const bool
00164     isAbsent () const
00165     {
00166       return m_entry->absent != 0;
00167     }
00168 
00172     const char *
00173     copyfromUrl () const
00174     {
00175       return m_entry->copyfrom_url;
00176     }
00177 
00181     const svn_revnum_t
00182     copyfromRev () const
00183     {
00184       return m_entry->copyfrom_rev;
00185     }
00186 
00190     const char *
00191     conflictOld () const
00192     {
00193       return m_entry->conflict_old;
00194     }
00195 
00199     const char *
00200     conflictNew () const
00201     {
00202       return m_entry->conflict_new;
00203     }
00204     
00208     const char *
00209     conflictWrk () const
00210     {
00211       return m_entry->conflict_wrk;
00212     }
00213 
00217     const char *
00218     prejfile () const
00219     {
00220       return m_entry->prejfile;
00221     }
00222 
00227     const apr_time_t
00228     textTime () const
00229     {
00230       return m_entry->text_time;
00231     }
00232     
00237     const apr_time_t
00238     propTime () const
00239     {
00240       return m_entry->prop_time;
00241     }
00242 
00247     const char *
00248     checksum () const
00249     {
00250       return m_entry->checksum;
00251     }
00252 
00256     const svn_revnum_t
00257     cmtRev () const
00258     {
00259       return m_entry->cmt_rev;
00260     }
00261 
00265     const apr_time_t
00266     cmtDate () const
00267     {
00268       return m_entry->cmt_date;
00269     }
00270 
00274     const char *
00275     cmtAuthor () const
00276     {
00277       return m_entry->cmt_author;
00278     }
00279 
00283     operator svn_wc_entry_t * () const
00284     {
00285       return m_entry;
00286     }
00287 
00291     Entry &
00292     operator = (const Entry &);
00293 
00294   private:
00295     svn_wc_entry_t * m_entry;
00296     Pool m_pool;
00297     bool m_valid;
00298 
00302     void 
00303     init (const svn_wc_entry_t * src);
00304  };
00305 
00306 }
00307 
00308 #endif
00309 /* -----------------------------------------------------------------
00310  * local variables:
00311  * eval: (load-file "../../rapidsvn-dev.el")
00312  * end:
00313  */

Generated on Fri Dec 8 18:57:44 2006 for SvnCpp by  doxygen 1.4.7