diff options
Diffstat (limited to 'subversion/bindings/swig/include/svn_containers.swg')
-rw-r--r-- | subversion/bindings/swig/include/svn_containers.swg | 94 |
1 files changed, 79 insertions, 15 deletions
diff --git a/subversion/bindings/swig/include/svn_containers.swg b/subversion/bindings/swig/include/svn_containers.swg index 545aa0e..b783fdf 100644 --- a/subversion/bindings/swig/include/svn_containers.swg +++ b/subversion/bindings/swig/include/svn_containers.swg @@ -265,6 +265,27 @@ #endif +#ifdef SWIGPERL +%typemap(in) apr_hash_t *PROPHASH + (apr_pool_t *_global_pool = NULL) +{ + if (_global_pool == NULL) + _global_pool = svn_swig_pl_make_pool((SV *)NULL); + $1 = svn_swig_pl_hash_to_prophash($input, _global_pool); +} +%typemap(out) apr_hash_t *PROPHASH +{ + %append_output(svn_swig_pl_prophash_to_hash($1)); +} + +%typemap(out) apr_hash_t *changed_paths2 +{ + %append_output( + ($1) ? svn_swig_pl_convert_hash($1, $descriptor(svn_log_changed_path2_t *)) + : &PL_sv_undef); +} +#endif + #ifdef SWIGRUBY %typemap(in) apr_hash_t *PROPHASH { @@ -291,7 +312,6 @@ } #endif -#if defined(SWIGPYTHON) || defined(SWIGRUBY) %apply apr_hash_t *PROPHASH { apr_hash_t *target_props, apr_hash_t *source_props, @@ -300,7 +320,6 @@ apr_hash_t *revprop_table, apr_hash_t *revprops }; -#endif #ifdef SWIGRUBY %typemap(out) apr_hash_t *CHANGED_PATH_HASH @@ -421,6 +440,19 @@ */ /* ----------------------------------------------------------------------- + Output of apr_array_header_t * <svn_prop_inherited_item_t *> +*/ +#ifdef SWIGPYTHON +%typemap(argout) apr_array_header_t **OUTPUT_OF_PROP_INHERITED_ITEM { + %append_output(svn_swig_py_propinheriteditemarray_to_dict(*$1)); +} + +%apply apr_array_header_t **OUTPUT_OF_PROP_INHERITED_ITEM { + apr_array_header_t **inherited_props +}; +#endif + +/* ----------------------------------------------------------------------- Output of apr_array_header_t * <svn_prop_t *> */ #ifdef SWIGRUBY @@ -482,6 +514,22 @@ svn_wc_parse_externals_description3() */ +#ifdef SWIGPYTHON +%typemap(argout) apr_array_header_t **externals_p { + %append_output + (svn_swig_py_pointerlist_to_list(*$1, $descriptor(svn_wc_external_item2_t *), + _global_py_pool)); + if (PyErr_Occurred()) { + SWIG_fail; + } +} +#endif +#ifdef SWIGPERL +%typemap(argout) apr_array_header_t **externals_p { + %append_output + (svn_swig_pl_convert_array(*$1, $descriptor(svn_wc_external_item2_t *))); +} +#endif #ifdef SWIGRUBY %typemap(argout) apr_array_header_t **externals_p { %append_output(svn_swig_rb_apr_array_to_array_external_item2(*$1)); @@ -497,7 +545,11 @@ } } #endif - +#ifdef SWIGPERL +%typemap(argout) apr_array_header_t **result_revs { + %append_output(svn_swig_pl_revnums_to_list(*$1)); +} +#endif #ifdef SWIGRUBY %typemap(argout) apr_array_header_t **result_revs { %append_output(svn_swig_rb_apr_array_to_array_svn_rev(*$1)); @@ -551,6 +603,10 @@ $1 = (apr_array_header_t *) svn_swig_pl_strings_to_array($input, _global_pool); } +%typemap(in) const apr_array_header_t *STRINGLIST_MAY_BE_NULL { + $1 = SvOK($input) ? (apr_array_header_t *) svn_swig_pl_strings_to_array( + $input, _global_pool) : NULL; +} #endif #ifdef SWIGRUBY %typemap(in) const apr_array_header_t *STRINGLIST { @@ -579,7 +635,7 @@ apr_array_header_t *preserved_exts }; -#ifdef SWIGRUBY +#if defined(SWIGPERL) || defined(SWIGRUBY) %apply const apr_array_header_t *STRINGLIST_MAY_BE_NULL { apr_array_header_t *revprops }; @@ -682,10 +738,11 @@ /* ----------------------------------------------------------------------- Input of apr_array_header_t * <svn_merge_range_t *> + (that is: svn_rangelist_t *) */ #ifdef SWIGPYTHON -%typemap(in) apr_array_header_t *RANGELIST { - $1 = (apr_array_header_t *) svn_swig_py_seq_to_array($input, +%typemap(in) svn_rangelist_t *RANGELIST { + $1 = (svn_rangelist_t *) svn_swig_py_seq_to_array($input, sizeof(const svn_merge_range_t *), svn_swig_py_unwrap_struct_ptr, $descriptor(svn_merge_range_t *), @@ -697,7 +754,7 @@ #endif #ifdef SWIGRUBY -%typemap(in) apr_array_header_t *RANGELIST { +%typemap(in) svn_rangelist_t *RANGELIST { $1 = svn_swig_rb_array_to_apr_array_merge_range($input, _global_pool); } #endif @@ -727,6 +784,12 @@ } #endif +#ifdef SWIGPERL +%typemap(in) apr_array_header_t *REVISION_RANGE_LIST { + $1 = svn_swig_pl_array_to_apr_array_revision_range($input, _global_pool); +} +#endif + #ifdef SWIGRUBY %typemap(in) apr_array_header_t *REVISION_RANGE_LIST { $1 = svn_swig_rb_array_to_apr_array_revision_range($input, _global_pool); @@ -799,7 +862,7 @@ Output of apr_hash_t * <const char *, apr_hash_t * <const char *, - array_header_t * <svn_merge_range_t *>>> + apr_array_header_t * <svn_merge_range_t *>>> */ #ifdef SWIGRUBY %typemap(argout) apr_hash_t **MERGEINFO_CATALOG @@ -821,9 +884,10 @@ /* ----------------------------------------------------------------------- Output of apr_array_header_t * <svn_merge_range_t *> + (that is: svn_rangelist_t *) */ #ifdef SWIGPYTHON -%typemap(argout) apr_array_header_t **RANGELIST { +%typemap(argout) svn_rangelist_t **RANGELIST { %append_output (svn_swig_py_pointerlist_to_list(*$1, $descriptor(svn_merge_range_t *), _global_py_pool)); @@ -832,10 +896,10 @@ } } -%typemap(in) apr_array_header_t **RANGELIST_INOUT ($*1_ltype temp) +%typemap(in) svn_rangelist_t **RANGELIST_INOUT ($*1_ltype temp) { $1 = &temp; - *$1 = (apr_array_header_t *) svn_swig_py_seq_to_array($input, + *$1 = (svn_rangelist_t *) svn_swig_py_seq_to_array($input, sizeof(const svn_merge_range_t *), svn_swig_py_unwrap_struct_ptr, $descriptor(svn_merge_range_t *), @@ -848,11 +912,11 @@ #endif #ifdef SWIGRUBY -%typemap(argout) apr_array_header_t **RANGELIST { +%typemap(argout) svn_rangelist_t **RANGELIST { %append_output(svn_swig_rb_apr_array_to_array_merge_range(*$1)); } -%typemap(in) apr_array_header_t **RANGELIST_INOUT ($*1_ltype temp) +%typemap(in) svn_rangelist_t **RANGELIST_INOUT ($*1_ltype temp) { $1 = &temp; *$1 = svn_swig_rb_array_to_apr_array_merge_range($input, _global_pool); @@ -860,8 +924,8 @@ #endif #if defined(SWIGPYTHON) || defined(SWIGRUBY) -%typemap(argout) apr_array_header_t **RANGELIST_INOUT = - apr_array_header_t **RANGELIST; +%typemap(argout) svn_rangelist_t **RANGELIST_INOUT = + svn_rangelist_t **RANGELIST; #endif /* ----------------------------------------------------------------------- |