property.hpp
Go to the documentation of this file.
/*
* ====================================================================
* Copyright (c) 2002-2009 The RapidSvn Group. All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program (in the file GPL.txt.
* If not, see <http://www.gnu.org/licenses/>.
*
* This software consists of voluntary contributions made by many
* individuals. For exact contribution history, see the revision
* history and logs, available at http://rapidsvn.tigris.org/.
* ====================================================================
*/
#ifndef _SVNCPP_PROPERTY_H_
#define _SVNCPP_PROPERTY_H_
// Ignore MSVC 6 compiler warning: debug symbol truncated
#if defined (_MSC_VER) && _MSC_VER <= 1200
#pragma warning (disable: 4786)
#endif
// Ignore MSVC 7 compiler warning: C++ exception specification
#if defined (_MSC_VER) && _MSCVER > 1200 && _MSCVER <= 1310
#pragma warning (disable: 4290)
#endif
// stl
#include "svncpp/vector_wrapper.hpp"
#include "svncpp/string_wrapper.hpp"
// svncpp
#include "svncpp/context.hpp"
#include "svncpp/path.hpp"
namespace svn
{
struct PropertyEntry
{
std::string name;
std::string value;
PropertyEntry(const char * name, const char * value);
};
// forward declarations
class Path;
class Property
{
public:
Property(Context * context = 0,
const Path & path = "");
virtual ~Property();
const std::vector<PropertyEntry> &
entries() const
{
return m_entries;
}
void set(const char * name, const char * value);
void remove(const char * name);
private:
Context * m_context;
Path m_path;
std::vector<PropertyEntry> m_entries;
std::string getValue(const char * name);
void list();
};
}
#endif
/* -----------------------------------------------------------------
* local variables:
* eval: (load-file "../../rapidsvn-dev.el")
* end:
*/
string_wrapper.hpp
svn::PropertyEntry::PropertyEntry
PropertyEntry(const char *name, const char *value)
svn::Property::Property
Property(Context *context=0, const Path &path="")
svn::Property::set
void set(const char *name, const char *value)
svn::PropertyEntry::value
std::string value
Definition: property.hpp:53
svn::Context
Definition: context.hpp:48
svn::Path
Definition: path.hpp:37
context.hpp
svn
Definition: annotate_line.hpp:31
svn::Property::entries
const std::vector< PropertyEntry > & entries() const
Definition: property.hpp:77
path.hpp
svn::PropertyEntry::name
std::string name
Definition: property.hpp:52
svn::Property
Definition: property.hpp:64
svn::PropertyEntry
Definition: property.hpp:50
svn::Property::~Property
virtual ~Property()
vector_wrapper.hpp