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 #ifndef _SVNCPP_PROPERTY_H_
00026 #define _SVNCPP_PROPERTY_H_
00027
00028
00029
00030 #if defined (_MSC_VER) && _MSC_VER <= 1200
00031 #pragma warning (disable: 4786)
00032 #endif
00033
00034
00035 #if defined (_MSC_VER) && _MSCVER > 1200 && _MSCVER <= 1310
00036 #pragma warning (disable: 4290)
00037 #endif
00038
00039
00040
00041 #include "svncpp/vector_wrapper.hpp"
00042 #include "svncpp/string_wrapper.hpp"
00043
00044
00045 #include "svncpp/context.hpp"
00046 #include "svncpp/path.hpp"
00047
00048 namespace svn
00049 {
00050 struct PropertyEntry
00051 {
00052 std::string name;
00053 std::string value;
00054
00055 PropertyEntry(const char * name, const char * value);
00056 };
00057
00058
00059 class Path;
00060
00064 class Property
00065 {
00066 public:
00067 Property(Context * context = 0,
00068 const Path & path = "");
00069
00070 virtual ~Property();
00071
00076 const std::vector<PropertyEntry> &
00077 entries() const
00078 {
00079 return m_entries;
00080 }
00081
00088 void set(const char * name, const char * value);
00089
00094 void remove(const char * name);
00095
00096 private:
00097 Context * m_context;
00098 Path m_path;
00099 std::vector<PropertyEntry> m_entries;
00100
00101 std::string getValue(const char * name);
00102 void list();
00103 };
00104 }
00105
00106 #endif
00107
00108
00109
00110
00111