summaryrefslogtreecommitdiff
path: root/subversion/bindings/swig/proxy/svn_config_h.swg
blob: 63db12a49c9fb1704337e6aeb744ad0046de6b54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* Proxy classes for svn_config.h
 * DO NOT EDIT -- AUTOMATICALLY GENERATED
 * BY build/generator/swig/header_wrappers.py */

/* No default constructors for opaque structs */
#ifdef SWIGPYTHON
%nodefault svn_config_t;
#endif

/* Callback typemaps */
#ifdef SWIGPYTHON
%apply CALLABLE_CALLBACK {
  svn_config_section_enumerator_t,
  svn_config_section_enumerator2_t,
  svn_config_enumerator_t,
  svn_config_enumerator2_t,
  svn_config_auth_walk_func_t
};
%apply CALLABLE_CALLBACK * {
  svn_config_section_enumerator_t *,
  svn_config_section_enumerator2_t *,
  svn_config_enumerator_t *,
  svn_config_enumerator2_t *,
  svn_config_auth_walk_func_t *
};
#endif

/* Baton typemaps */
#ifdef SWIGPYTHON
%apply void *PY_AS_VOID {
  void *baton,
  void *walk_baton
};
#endif

/* Includes */
%{
#include "svn_config.h"
%}
%include svn_config.h

/* Structure definitions */
#ifdef SWIGPYTHON
%opaque_proxy(svn_config_t);
#endif

/* Callbacks */

%inline %{
static svn_boolean_t svn_config_invoke_section_enumerator(
  svn_config_section_enumerator_t _obj, const char *name, void *baton) {
  return _obj(name, baton);
}

static svn_boolean_t svn_config_invoke_section_enumerator2(
  svn_config_section_enumerator2_t _obj, const char *name, void *baton, apr_pool_t *pool) {
  return _obj(name, baton, pool);
}

static svn_boolean_t svn_config_invoke_enumerator(
  svn_config_enumerator_t _obj, const char *name, const char *value, void *baton) {
  return _obj(name, value, baton);
}

static svn_boolean_t svn_config_invoke_enumerator2(
  svn_config_enumerator2_t _obj, const char *name, const char *value, void *baton, apr_pool_t *pool) {
  return _obj(name, value, baton, pool);
}

static svn_error_t * svn_config_invoke_auth_walk_func(
  svn_config_auth_walk_func_t _obj, svn_boolean_t *delete_cred, void *walk_baton, const char *cred_kind, const char *realmstring, apr_hash_t *hash, apr_pool_t *scratch_pool) {
  return _obj(delete_cred, walk_baton, cred_kind, realmstring, hash, scratch_pool);
}

%}

#ifdef SWIGPYTHON
%funcptr_proxy(svn_config_section_enumerator_t, svn_config_invoke_section_enumerator);
%funcptr_proxy(svn_config_section_enumerator2_t, svn_config_invoke_section_enumerator2);
%funcptr_proxy(svn_config_enumerator_t, svn_config_invoke_enumerator);
%funcptr_proxy(svn_config_enumerator2_t, svn_config_invoke_enumerator2);
%funcptr_proxy(svn_config_auth_walk_func_t, svn_config_invoke_auth_walk_func);

#endif