On Wed, Sep 8, 2010 at 1:09 PM, Matthijs Kooijman <matthijs_at_stdin.nl> wrote:
> 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?
I've very little knowledge about the underlying magic of swig, but
here are a few general thoughts.
Would it be possible to add a test to the Perl bindings tests which
exercises this new code?
Additionally, you should probably provide a log message in the
standard format [1].
-Hyrum
[1] http://subversion.apache.org/docs/community-guide/conventions.html#log-messages
>
> 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
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkyH0VQACgkQz0nQ5oovr7ziZgCfRvBmOLl8cbCutOxTPptXyiIq
> Q3UAn2aNu/l3/LtJN9KBGNAAHlfX4i/3
> =pJZI
> -----END PGP SIGNATURE-----
>
>
Received on 2010-09-08 20:43:57 CEST