subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r1849292 - /subversion/trunk/subversion/bindings/cxxhl/README
Date Wed, 19 Dec 2018 11:46:28 GMT
Author: brane
Date: Wed Dec 19 11:46:28 2018
New Revision: 1849292

URL: http://svn.apache.org/viewvc?rev=1849292&view=rev
Log:
* subversion/bindings/cxxhl/README: Update.

Modified:
    subversion/trunk/subversion/bindings/cxxhl/README

Modified: subversion/trunk/subversion/bindings/cxxhl/README
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/cxxhl/README?rev=1849292&r1=1849291&r2=1849292&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/cxxhl/README (original)
+++ subversion/trunk/subversion/bindings/cxxhl/README Wed Dec 19 11:46:28 2018
@@ -1,13 +1,56 @@
 WORK IN PROGRESS
 ================
 
-This directory contains an experimental implementation of a C++HL, a
-high-level Subversion C++ API, modeled along the lines of JavaHL.
+This directory contains an experimental implementation of SVN++, a
+high-level Subversion C++ API.
 
 It is far from complete and may never see the light of day.
 
 On the other hand, one good reason for having a high-level C++ API is
-to use it as a baseline for Swig-generated binadings.  Our current set
+to use it as a baseline for Swig-generated bindings. Our current set
 of Perl, Python and Ruby bindings is too heterogenous in terms of
 feature set, object and usage model. They're almost as hard to use as
-the C API itself.
\ No newline at end of file
+the C API itself.
+
+
+DESIGN GOALS
+============
+
+In no particular order:
+
+  * Use modern C++ constructs (the current baseline is C++11).
+
+  * Hide the dependency on APR that is exposed in Subversion's C API.
+
+  * Use separate C++ types for different kinds of values returned
+    from the C API (e.g., dirent vs. property value vs. URL), to make
+    it easier to create generic typemaps for Swig.
+
+  * Provide both synchronous and asynchronous interfaces.
+
+  * Avoid unnecessary copies by defining strict lifetimes for
+    returned values.
+
+  * Provide API variants that accept wide strings as well as
+    UTF-8-encoded narrow strings.
+
+  * Provide high-level constructs for common parameter types; e.g.,
+    revision ranges and lists for diff, merge, etc.
+
+  * API versioning.
+
+
+API COVERAGE
+============
+
+Planned:
+
+  * libsvn_client (highest priority)
+  * svn_mtcc_*
+  * utilities (diff, revision ranges/lists, etc.)
+  * libsvn_ra
+  * libsvn_repos/libsvn_fs (lowest priority)
+
+Not planned:
+  * libsvn_subr
+  * libsvn_wc



Mime
View raw message