00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
#ifndef _SVNCPP_STATUS_HPP_
00014
#define _SVNCPP_STATUS_HPP_
00015
00016
00017
#include "svn_wc.h"
00018
00019
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
00178
00179
00180