Main Page | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

status.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002-2004 The RapidSvn Group.  All rights reserved.
00004  *
00005  * This software is licensed as described in the file LICENSE.txt,
00006  * which you should have received as part of this distribution.
00007  *
00008  * This software consists of voluntary contributions made by many
00009  * individuals.  For exact contribution history, see the revision
00010  * history and logs, available at http://rapidsvn.tigris.org/.
00011  * ====================================================================
00012  */
00013 #ifndef _SVNCPP_STATUS_HPP_
00014 #define _SVNCPP_STATUS_HPP_
00015 
00016 // subversion api
00017 #include "svn_wc.h"
00018 
00019 // svncpp
00020 #include "svncpp/entry.hpp"
00021 #include "svncpp/pool.hpp"
00022 
00023 
00024 namespace svn
00025 {
00033   class Status
00034   {
00035   public:
00039     Status (const Status & src);
00040 
00047     Status (const char *path = NULL, svn_wc_status_t * status = NULL);
00048 
00052     virtual ~Status ();
00053 
00057     const char *
00058     path () const
00059     {
00060       return m_path->data;
00061     }
00062 
00067     const Entry 
00068     entry () const
00069     {
00070       return Entry (m_status->entry);
00071     }
00072 
00076     const svn_wc_status_kind 
00077     textStatus () const 
00078     {
00079       return m_status->text_status;
00080     }
00081 
00085     const svn_wc_status_kind 
00086     propStatus () const 
00087     {
00088       return m_status->prop_status;
00089     }
00090 
00094     const bool 
00095     isVersioned () const 
00096     {
00097       return m_isVersioned;
00098     }
00099 
00103     const bool 
00104     isLocked () const 
00105     {
00106       return m_status->locked != 0;
00107     }
00108 
00112     const bool 
00113     isCopied () const 
00114     {
00115       return m_status->copied != 0;
00116     }
00117 
00121     const bool
00122     isSwitched () const 
00123     {
00124       return m_status->switched != 0;
00125     }
00126 
00130     const svn_wc_status_kind
00131     reposTextStatus () const 
00132     {
00133       return m_status->repos_text_status;
00134     }
00135 
00139     const svn_wc_status_kind
00140     reposPropStatus () const
00141     {
00142       return m_status->repos_prop_status;
00143     }
00144 
00148     operator svn_wc_status_t * () const 
00149     {
00150       return m_status;
00151     }
00152 
00156     Status &
00157     operator = (const Status &);
00158   private:
00159     svn_wc_status_t * m_status;
00160     svn_string_t * m_path;
00161     Pool m_pool;
00162     bool m_isVersioned;
00163 
00170     void 
00171     init (const char *path, const svn_wc_status_t * status);
00172   };
00173 }
00174 
00175 #endif
00176 /* -----------------------------------------------------------------
00177  * local variables:
00178  * eval: (load-file "../../rapidsvn-dev.el")
00179  * end:
00180  */

Generated on Tue Feb 8 10:14:11 2005 for SvnCpp by  doxygen 1.3.9.1