Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/core.i view on Meta::CPAN
*/
%apply apr_hash_t *HASH_CSTRING {
apr_hash_t *mimetype_map
}
/* -----------------------------------------------------------------------
describe how to pass a FILE* as a parameter (svn_stream_from_stdio)
*/
#ifdef SWIGPYTHON
%typemap(in) FILE * {
$1 = PyFile_AsFile($input);
if ($1 == NULL) {
PyErr_SetString(PyExc_ValueError, "Must pass in a valid file object");
SWIG_fail;
}
}
#endif
#ifdef SWIGPERL
%typemap(in) FILE * {
$1 = PerlIO_exportFILE (IoIFP (sv_2io ($input)), NULL);
}
#endif
/* -----------------------------------------------------------------------
wrap some specific APR functionality
*/
apr_status_t apr_initialize(void);
void apr_terminate(void);
apr_status_t apr_time_ansi_put(apr_time_t *result, time_t input);
void apr_pool_destroy(apr_pool_t *p);
void apr_pool_clear(apr_pool_t *p);
apr_status_t apr_file_open_stdout (apr_file_t **out, apr_pool_t *pool);
apr_status_t apr_file_open_stderr (apr_file_t **out, apr_pool_t *pool);
/* Allow parsing of apr_errno.h without parsing apr.h. */
#define APR_DECLARE(x) x
/* Not wrapped, use svn_strerror instead. */
%ignore apr_strerror;
/* Wrap the APR status and error codes. */
/* Sigh, or not. This would mean actually having access to apr_errno.h at
wrapper generation time, which, when rolling tarballs, the include paths
are not currently set up to give us. FIXME. So, instead, we replicate
one important typedef here instead.
%include apr_errno.h
*/
typedef int apr_status_t;
/* Make possible to parse the SVN_VER_NUM definition. */
#define APR_STRINGIFY_HELPER(n) #n
#define APR_STRINGIFY(n) APR_STRINGIFY_HELPER(n)
/* -----------------------------------------------------------------------
pool functions renaming since swig doesn't take care of the #define's
*/
%rename (svn_pool_create) svn_pool_create_ex;
%ignore svn_pool_create_ex_debug;
%typemap(default) apr_allocator_t *allocator {
$1 = NULL;
}
/* -----------------------------------------------------------------------
Default pool handling for perl.
*/
#ifdef SWIGPERL
apr_pool_t *current_pool;
#if SWIG_VERSION <= 0x010324
%{
#define SVN_SWIGEXPORT(t) SWIGEXPORT(t)
%}
#else
%{
#define SVN_SWIGEXPORT(t) SWIGEXPORT t
%}
#endif
%{
static apr_pool_t *current_pool = 0;
SVN_SWIGEXPORT(apr_pool_t *)
svn_swig_pl_get_current_pool (void)
{
return current_pool;
}
SVN_SWIGEXPORT(void)
svn_swig_pl_set_current_pool (apr_pool_t *pool)
{
current_pool = pool;
}
%}
#endif
/* -----------------------------------------------------------------------
wrap config functions
*/
#ifdef SWIGPERL
%callback_typemap(svn_config_enumerator_t callback, void *baton,
,
svn_swig_pl_thunk_config_enumerator,
)
#endif
#ifndef SWIGPERL
%callback_typemap(svn_config_enumerator2_t callback, void *baton,
svn_swig_py_config_enumerator2,
,
svn_swig_rb_config_enumerator)
%callback_typemap(svn_config_section_enumerator2_t callback, void *baton,
svn_swig_py_config_section_enumerator2,
,
( run in 0.807 second using v1.01-cache-2.11-cpan-02777c243ea )