You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/10/04 23:19:41 UTC
svn commit: r1004435 - in
/subversion/branches/object-model/subversion/bindings/c++: Version.cpp
include/Client.h include/Pool.h include/Types.h include/Version.h
Author: hwright
Date: Mon Oct 4 21:19:40 2010
New Revision: 1004435
URL: http://svn.apache.org/viewvc?rev=1004435&view=rev
Log:
On the object-model branch:
Make the Version object one of our standard wrapped types, rather than its
own special one.
* subversion/bindings/c++/include/Pool.h
(Pool::strdup): New helper.
* subversion/bindings/c++/include/Client.h:
Don't include the Version.h header.
* subversion/bindings/c++/include/Types.h
(Version): New.
* subversion/bindings/c++/include/Version.h:
Remove.
* subversion/bindings/c++/Version.cpp:
Remove.
Removed:
subversion/branches/object-model/subversion/bindings/c++/Version.cpp
subversion/branches/object-model/subversion/bindings/c++/include/Version.h
Modified:
subversion/branches/object-model/subversion/bindings/c++/include/Client.h
subversion/branches/object-model/subversion/bindings/c++/include/Pool.h
subversion/branches/object-model/subversion/bindings/c++/include/Types.h
Modified: subversion/branches/object-model/subversion/bindings/c++/include/Client.h
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/include/Client.h?rev=1004435&r1=1004434&r2=1004435&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/bindings/c++/include/Client.h (original)
+++ subversion/branches/object-model/subversion/bindings/c++/include/Client.h Mon Oct 4 21:19:40 2010
@@ -30,7 +30,6 @@
#include "Types.h"
#include "Common.h"
#include "Callback.h"
-#include "Version.h"
#include "Revision.h"
#include "Pool.h"
Modified: subversion/branches/object-model/subversion/bindings/c++/include/Pool.h
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/include/Pool.h?rev=1004435&r1=1004434&r2=1004435&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/bindings/c++/include/Pool.h (original)
+++ subversion/branches/object-model/subversion/bindings/c++/include/Pool.h Mon Oct 4 21:19:40 2010
@@ -29,6 +29,8 @@
#include "svn_pools.h"
+#include "apr_strings.h"
+
namespace SVN
{
@@ -57,6 +59,12 @@ namespace SVN
return apr_palloc(m_pool, sz);
}
+ inline char *
+ strdup(const char *str)
+ {
+ return apr_pstrdup(m_pool, str);
+ }
+
inline void
registerCleanup(apr_status_t (*cleanup_func)(void *), void *baton)
{
Modified: subversion/branches/object-model/subversion/bindings/c++/include/Types.h
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/include/Types.h?rev=1004435&r1=1004434&r2=1004435&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/bindings/c++/include/Types.h (original)
+++ subversion/branches/object-model/subversion/bindings/c++/include/Types.h Mon Oct 4 21:19:40 2010
@@ -259,6 +259,39 @@ class ClientNotifyInfo
Private::CStructWrapper<ClientNotifyInfo, const svn_wc_notify_t> m_notify;
};
+class Version
+{
+ public:
+ inline static svn_version_t *
+ dup(const svn_version_t *version, Pool &pool)
+ {
+ svn_version_t *v =
+ reinterpret_cast<svn_version_t *>(pool.alloc(sizeof(*v)));
+
+ v->major = version->major;
+ v->minor = version->minor;
+ v->patch = version->patch;
+ v->tag = pool.strdup(version->tag);
+
+ return v;
+ }
+
+ inline
+ Version(const svn_version_t *version)
+ : m_version(version)
+ {
+ }
+
+ inline std::string
+ getTag()
+ {
+ return std::string(m_version->tag);
+ }
+
+ private:
+ Private::CStructWrapper<Version, const svn_version_t> m_version;
+};
+
}