* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
[svn.git] / subversion / bindings / swig / svn_ra.i
blob0d689842d4849fabf72355c7ef8b315e9eabb04d
1 /*
2 * ====================================================================
3 * Copyright (c) 2000-2007 CollabNet. All rights reserved.
5 * This software is licensed as described in the file COPYING, which
6 * you should have received as part of this distribution. The terms
7 * are also available at http://subversion.tigris.org/license-1.html.
8 * If newer versions of this license are posted there, you may use a
9 * newer version instead, at your option.
11 * This software consists of voluntary contributions made by many
12 * individuals. For exact contribution history, see the revision
13 * history and logs, available at http://subversion.tigris.org/.
14 * ====================================================================
16 * svn_ra.i: SWIG interface file for svn_ra.h
19 #if defined(SWIGPYTHON)
20 %module(package="libsvn") ra
21 #elif defined(SWIGPERL)
22 %module "SVN::_Ra"
23 #elif defined(SWIGRUBY)
24 %module "svn::ext::ra"
25 #endif
27 %include svn_global.swg
28 %import core.i
29 %import svn_delta.i
31 /* Bad pool convention, also these are not public interfaces, they were
32 simply placed in the public header by mistake. */
33 %ignore svn_ra_svn_init;
34 %ignore svn_ra_local_init;
35 %ignore svn_ra_dav_init;
36 %ignore svn_ra_serf_init;
38 %apply Pointer NONNULL { svn_ra_callbacks2_t *callbacks };
40 /* -----------------------------------------------------------------------
41 %apply-ing of typemaps defined elsewhere
43 %apply const char *MAY_BE_NULL {
44 const char *comment,
45 const char *lock_token
48 #ifdef SWIGPYTHON
49 %apply svn_stream_t *WRAPPED_STREAM { svn_stream_t * };
50 #endif
52 /* ----------------------------------------------------------------------- */
54 #ifdef SWIGPYTHON
55 %typemap(in) (const svn_ra_callbacks2_t *callbacks, void *callback_baton) {
56 svn_swig_py_setup_ra_callbacks(&$1, &$2, $input, _global_pool);
58 /* FIXME: svn_ra_callbacks_t ? */
59 #endif
60 #ifdef SWIGPERL
61 /* FIXME: svn_ra_callbacks2_t ? */
62 %typemap(in) (const svn_ra_callbacks_t *callbacks, void *callback_baton) {
63 svn_ra_make_callbacks(&$1, &$2, $input, _global_pool);
65 #endif
66 #ifdef SWIGRUBY
67 %typemap(in) (const svn_ra_callbacks2_t *callbacks, void *callback_baton) {
68 svn_swig_rb_setup_ra_callbacks(&$1, &$2, $input, _global_pool);
70 /* FIXME: svn_ra_callbacks_t ? */
71 #endif
73 #ifdef SWIGPYTHON
74 %callback_typemap(const svn_ra_reporter2_t *reporter, void *report_baton,
75 (svn_ra_reporter2_t *)&swig_py_ra_reporter2,
78 %callback_typemap(svn_location_segment_receiver_t receiver, void *receiver_baton,
79 svn_swig_py_location_segment_receiver_func,
82 #endif
84 #ifdef SWIGRUBY
85 %callback_typemap(const svn_ra_reporter3_t *reporter, void *report_baton,
88 svn_swig_rb_ra_reporter3)
89 #endif
91 #ifndef SWIGPERL
92 %callback_typemap(svn_ra_file_rev_handler_t handler, void *handler_baton,
93 svn_swig_py_ra_file_rev_handler_func,
95 svn_swig_rb_ra_file_rev_handler)
96 #endif
98 #ifndef SWIGPERL
99 %callback_typemap(svn_ra_lock_callback_t lock_func, void *lock_baton,
100 svn_swig_py_ra_lock_callback,
102 svn_swig_rb_ra_lock_callback)
103 #endif
105 /* ----------------------------------------------------------------------- */
107 %include svn_ra_h.swg