aboutsummaryrefslogtreecommitdiff
path: root/subversion/libsvn_ra/ra_loader.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2018-05-08 03:44:38 +0000
committerPeter Wemm <peter@FreeBSD.org>2018-05-08 03:44:38 +0000
commit3faf8d6bffc5d0fb2525ba37bb504c53366caf9d (patch)
tree7e47911263e75034b767fe34b2f8d3d17e91f66d /subversion/libsvn_ra/ra_loader.h
parenta55fb3c0d5eca7d887798125d5b95942b1f01d4b (diff)
Import Subversion-1.10.0vendor/subversion/subversion-1.10.0
Notes
Notes: svn path=/vendor/subversion/dist/; revision=333347 svn path=/vendor/subversion/subversion-1.10.0/; revision=333348; tag=vendor/subversion/subversion-1.10.0
Diffstat (limited to 'subversion/libsvn_ra/ra_loader.h')
-rw-r--r--subversion/libsvn_ra/ra_loader.h37
1 files changed, 33 insertions, 4 deletions
diff --git a/subversion/libsvn_ra/ra_loader.h b/subversion/libsvn_ra/ra_loader.h
index f371f273feca..c20b5bf92253 100644
--- a/subversion/libsvn_ra/ra_loader.h
+++ b/subversion/libsvn_ra/ra_loader.h
@@ -38,6 +38,17 @@
extern "C" {
#endif
+/* Prototype of most recent version of svn_ra_openX() api, optionally
+ handed to the ra api to allow opening other ra sessions. */
+typedef svn_error_t * (*svn_ra__open_func_t)(svn_ra_session_t **session_p,
+ const char **corrected_url,
+ const char *repos_URL,
+ const char *uuid,
+ const svn_ra_callbacks2_t *callbacks,
+ void *callback_baton,
+ apr_hash_t *config,
+ apr_pool_t *pool);
+
/* The RA layer vtable. */
typedef struct svn_ra__vtable_t {
/* This field should always remain first in the vtable. */
@@ -308,10 +319,6 @@ typedef struct svn_ra__vtable_t {
svn_revnum_t end_revision,
svn_revnum_t *revision_deleted,
apr_pool_t *pool);
-
- /* See svn_ra__register_editor_shim_callbacks() */
- svn_error_t *(*register_editor_shim_callbacks)(svn_ra_session_t *session,
- svn_delta_shim_callbacks_t *callbacks);
/* See svn_ra_get_inherited_props(). */
svn_error_t *(*get_inherited_props)(svn_ra_session_t *session,
apr_array_header_t **iprops,
@@ -319,6 +326,28 @@ typedef struct svn_ra__vtable_t {
svn_revnum_t revision,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+ /* If not NULL, receives a pointer to svn_ra_open, to alllow opening
+ a new ra session from inside the ra layer without a circular
+ library dependency*/
+ svn_error_t *(*set_svn_ra_open)(svn_ra_session_t *session,
+ svn_ra__open_func_t func);
+
+ /* See svn_ra_list(). */
+ svn_error_t *(*list)(svn_ra_session_t *session,
+ const char *path,
+ svn_revnum_t revision,
+ const apr_array_header_t *patterns,
+ svn_depth_t depth,
+ apr_uint32_t dirent_fields,
+ svn_ra_dirent_receiver_t receiver,
+ void *receiver_baton,
+ apr_pool_t *scratch_pool);
+
+ /* Experimental support below here */
+
+ /* See svn_ra__register_editor_shim_callbacks() */
+ svn_error_t *(*register_editor_shim_callbacks)(svn_ra_session_t *session,
+ svn_delta_shim_callbacks_t *callbacks);
/* See svn_ra__get_commit_ev2() */
svn_error_t *(*get_commit_ev2)(
svn_editor_t **editor,