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

property.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002, 2003 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 
00014 #ifndef _SVNCPP_PROPERTY_H_
00015 #define _SVNCPP_PROPERTY_H_
00016 
00017 #ifdef WIN32
00018 // Eliminate worthless win32 warnings
00019 #pragma warning(disable: 4786)
00020 #endif
00021 
00022 // stl 
00023 #include <vector>
00024 #include <string>
00025 
00026 // svncpp
00027 #include "context.hpp"
00028 #include "path.hpp"
00029 
00030 namespace svn
00031 {
00032   struct PropertyEntry
00033   {
00034     std::string name;
00035     std::string value;
00036 
00037     PropertyEntry (const char * name, const char * value);
00038   };    
00039 
00040   // forward declarations
00041   class Path;
00042 
00046   class Property 
00047   {
00048   public:
00049     Property (Context * context = 0,
00050               const Path & path = "");
00051 
00052     virtual ~Property ();
00053 
00058     const std::vector<PropertyEntry> &
00059     entries () const
00060     {
00061       return m_entries;
00062     }
00063 
00070     void set (const char * name, const char * value);
00071 
00076     void remove (const char * name);
00077 
00078   private:
00079     Context * m_context;
00080     Path m_path;
00081     std::vector<PropertyEntry> m_entries;
00082 
00083     std::string getValue (const char * name);
00084     void list ();
00085 
00086   };
00087 
00088 }
00089 
00090 #endif
00091 /* -----------------------------------------------------------------
00092  * local variables:
00093  * eval: (load-file "../../rapidsvn-dev.el")
00094  * end:
00095  */

Generated on Thu Aug 28 13:22:36 2003 for SvnCpp by doxygen1.2.15