Hi folks, > While writing this, I've finally found the "include/svn_containers.swg" > file containing all kinds of typemaps for the apr_*_t types. I'll try > poking in there a bit, I'll keep you posted.
Using the following patch (which just appends a bit to the end of the file), the svn_auth_get_platform_specific_client_providers becomes available in the perl bindings (and with a small change to git-svn, I can use gnome-keyring from git-svn now :-D). I've copied this code from the typemaps for svn_client_proplist_item_t in svn_client.i, but those seem to contain specific conversion code for Ruby and Python, while the actual pointer type is just preserved in Perl. I'm not completly sure how this would work for Python and Ruby, perhaps someone else can help me out here? Would you considering committing this patch (after completion) to the main repository? Gr. Matthijs Index: subversion-1.6.12dfsg/subversion/bindings/swig/include/svn_containers.swg =================================================================== --- subversion-1.6.12dfsg.orig/subversion/bindings/swig/include/svn_containers.swg 2010-09-08 20:00:18.000000000 +0200 +++ subversion-1.6.12dfsg/subversion/bindings/swig/include/svn_containers.swg 2010-09-08 20:00:22.000000000 +0200 @@ -808,3 +808,13 @@ %typemap(argout) apr_array_header_t **RANGELIST_INOUT = apr_array_header_t **RANGELIST; #endif + +/* ----------------------------------------------------------------------- + Output of apr_array_header_t * <svn_auth_provider_object_t *> +*/ +#ifdef SWIGPERL +%typemap(argout) apr_array_header_t **providers { + %append_output(svn_swig_pl_convert_array(*$1, + $descriptor(svn_auth_provider_object_t *))); +} +#endif
signature.asc
Description: Digital signature