00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
#ifndef _SVNCPP_PATH_HPP_
00015
#define _SVNCPP_PATH_HPP_
00016
00017
00018
#include <string>
00019
00020
00021
namespace svn
00022 {
00026 class Path
00027 {
00028
private:
00029 std::string m_path;
00030
00036
void init (
const char *
path);
00037
00038
public:
00046
Path (
const std::string & path =
"");
00047
00054
Path (
const char * path);
00055
00061
Path (
const Path & path);
00062
00066
Path&
operator=(
const Path&);
00067
00071
const std::string &
00072
path ()
const;
00073
00077
const char *
00078
c_str()
const;
00079
00087
bool
00088
isset()
const;
00089
00090
00096
void
00097
addComponent (
const char * component);
00098
00099
00105
void
00106
addComponent (
const std::string & component);
00107
00108
00115
void
00116
split (std::string & dirpath, std::string & basename)
const;
00117
00118
00127
void
00128
split (std::string & dir, std::string & filename, std::string & ext)
const;
00129
00130
00134
static Path
00135
getTempDir ();
00136
00137
00139 size_t
00140
length ()
const;
00141
00142
00144 std::string
00145
native ()
const;
00146 };
00147 }
00148
00149
#endif
00150
00151
00152
00153
00154