00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _SVNCPP_REVISION_HPP_
00027 #define _SVNCPP_REVISION_HPP_
00028
00029
00030 #include "svn_types.h"
00031 #include "svn_opt.h"
00032
00033
00034 #include "datetime.hpp"
00035
00036 namespace svn
00037 {
00043 class Revision
00044 {
00045 private:
00046 svn_opt_revision_t m_revision;
00047
00048 void
00049 init (const svn_opt_revision_t * revision);
00050
00051 public:
00052 static const svn_opt_revision_kind START;
00053 static const svn_opt_revision_kind BASE;
00054 static const svn_opt_revision_kind HEAD;
00055 static const svn_opt_revision_kind WORKING;
00056
00062 Revision (const svn_opt_revision_t * revision);
00063
00069 Revision (const svn_revnum_t revnum);
00070
00076 Revision (const svn_opt_revision_kind kind = svn_opt_revision_unspecified);
00077
00083 Revision (const DateTime dateTime);
00084
00090 Revision (const Revision & revision);
00091
00095 const svn_opt_revision_t *
00096 revision () const;
00097
00102 operator svn_opt_revision_t * ()
00103 {
00104 return &m_revision;
00105 }
00106
00110 const svn_revnum_t
00111 revnum () const;
00112
00116 const svn_opt_revision_kind
00117 kind () const;
00118
00122 const apr_time_t
00123 date () const;
00124 };
00125 }
00126
00127 #endif
00128
00129
00130
00131
00132