xref: /aosp_15_r20/external/marisa-trie/bindings/python/marisa-swig_wrap.cxx (revision ab8db090fce404b23716c4c9194221ee27efe31c)
1*ab8db090SAndroid Build Coastguard Worker /* ----------------------------------------------------------------------------
2*ab8db090SAndroid Build Coastguard Worker  * This file was automatically generated by SWIG (http://www.swig.org).
3*ab8db090SAndroid Build Coastguard Worker  * Version 1.3.40
4*ab8db090SAndroid Build Coastguard Worker  *
5*ab8db090SAndroid Build Coastguard Worker  * This file is not intended to be easily readable and contains a number of
6*ab8db090SAndroid Build Coastguard Worker  * coding conventions designed to improve portability and efficiency. Do not make
7*ab8db090SAndroid Build Coastguard Worker  * changes to this file unless you know what you are doing--modify the SWIG
8*ab8db090SAndroid Build Coastguard Worker  * interface file instead.
9*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
10*ab8db090SAndroid Build Coastguard Worker 
11*ab8db090SAndroid Build Coastguard Worker #define SWIGPYTHON
12*ab8db090SAndroid Build Coastguard Worker #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
13*ab8db090SAndroid Build Coastguard Worker 
14*ab8db090SAndroid Build Coastguard Worker 
15*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
16*ab8db090SAndroid Build Coastguard Worker /* SwigValueWrapper is described in swig.swg */
17*ab8db090SAndroid Build Coastguard Worker template<typename T> class SwigValueWrapper {
18*ab8db090SAndroid Build Coastguard Worker   struct SwigMovePointer {
19*ab8db090SAndroid Build Coastguard Worker     T *ptr;
SwigMovePointerSwigValueWrapper::SwigMovePointer20*ab8db090SAndroid Build Coastguard Worker     SwigMovePointer(T *p) : ptr(p) { }
~SwigMovePointerSwigValueWrapper::SwigMovePointer21*ab8db090SAndroid Build Coastguard Worker     ~SwigMovePointer() { delete ptr; }
operator =SwigValueWrapper::SwigMovePointer22*ab8db090SAndroid Build Coastguard Worker     SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
23*ab8db090SAndroid Build Coastguard Worker   } pointer;
24*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
25*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper(const SwigValueWrapper<T>& rhs);
26*ab8db090SAndroid Build Coastguard Worker public:
SwigValueWrapper()27*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper() : pointer(0) { }
operator =(const T & t)28*ab8db090SAndroid Build Coastguard Worker   SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
operator T&() const29*ab8db090SAndroid Build Coastguard Worker   operator T&() const { return *pointer.ptr; }
operator &()30*ab8db090SAndroid Build Coastguard Worker   T *operator&() { return pointer.ptr; }
31*ab8db090SAndroid Build Coastguard Worker };
32*ab8db090SAndroid Build Coastguard Worker 
SwigValueInit()33*ab8db090SAndroid Build Coastguard Worker template <typename T> T SwigValueInit() {
34*ab8db090SAndroid Build Coastguard Worker   return T();
35*ab8db090SAndroid Build Coastguard Worker }
36*ab8db090SAndroid Build Coastguard Worker #endif
37*ab8db090SAndroid Build Coastguard Worker 
38*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
39*ab8db090SAndroid Build Coastguard Worker  *  This section contains generic SWIG labels for method/variable
40*ab8db090SAndroid Build Coastguard Worker  *  declarations/attributes, and other compiler dependent labels.
41*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
42*ab8db090SAndroid Build Coastguard Worker 
43*ab8db090SAndroid Build Coastguard Worker /* template workaround for compilers that cannot correctly implement the C++ standard */
44*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGTEMPLATEDISAMBIGUATOR
45*ab8db090SAndroid Build Coastguard Worker # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
46*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR template
47*ab8db090SAndroid Build Coastguard Worker # elif defined(__HP_aCC)
48*ab8db090SAndroid Build Coastguard Worker /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
49*ab8db090SAndroid Build Coastguard Worker /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
50*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR template
51*ab8db090SAndroid Build Coastguard Worker # else
52*ab8db090SAndroid Build Coastguard Worker #  define SWIGTEMPLATEDISAMBIGUATOR
53*ab8db090SAndroid Build Coastguard Worker # endif
54*ab8db090SAndroid Build Coastguard Worker #endif
55*ab8db090SAndroid Build Coastguard Worker 
56*ab8db090SAndroid Build Coastguard Worker /* inline attribute */
57*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINLINE
58*ab8db090SAndroid Build Coastguard Worker # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
59*ab8db090SAndroid Build Coastguard Worker #   define SWIGINLINE inline
60*ab8db090SAndroid Build Coastguard Worker # else
61*ab8db090SAndroid Build Coastguard Worker #   define SWIGINLINE
62*ab8db090SAndroid Build Coastguard Worker # endif
63*ab8db090SAndroid Build Coastguard Worker #endif
64*ab8db090SAndroid Build Coastguard Worker 
65*ab8db090SAndroid Build Coastguard Worker /* attribute recognised by some compilers to avoid 'unused' warnings */
66*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGUNUSED
67*ab8db090SAndroid Build Coastguard Worker # if defined(__GNUC__)
68*ab8db090SAndroid Build Coastguard Worker #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
69*ab8db090SAndroid Build Coastguard Worker #     define SWIGUNUSED __attribute__ ((__unused__))
70*ab8db090SAndroid Build Coastguard Worker #   else
71*ab8db090SAndroid Build Coastguard Worker #     define SWIGUNUSED
72*ab8db090SAndroid Build Coastguard Worker #   endif
73*ab8db090SAndroid Build Coastguard Worker # elif defined(__ICC)
74*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSED __attribute__ ((__unused__))
75*ab8db090SAndroid Build Coastguard Worker # else
76*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSED
77*ab8db090SAndroid Build Coastguard Worker # endif
78*ab8db090SAndroid Build Coastguard Worker #endif
79*ab8db090SAndroid Build Coastguard Worker 
80*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_MSC_UNSUPPRESS_4505
81*ab8db090SAndroid Build Coastguard Worker # if defined(_MSC_VER)
82*ab8db090SAndroid Build Coastguard Worker #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
83*ab8db090SAndroid Build Coastguard Worker # endif
84*ab8db090SAndroid Build Coastguard Worker #endif
85*ab8db090SAndroid Build Coastguard Worker 
86*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGUNUSEDPARM
87*ab8db090SAndroid Build Coastguard Worker # ifdef __cplusplus
88*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSEDPARM(p)
89*ab8db090SAndroid Build Coastguard Worker # else
90*ab8db090SAndroid Build Coastguard Worker #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
91*ab8db090SAndroid Build Coastguard Worker # endif
92*ab8db090SAndroid Build Coastguard Worker #endif
93*ab8db090SAndroid Build Coastguard Worker 
94*ab8db090SAndroid Build Coastguard Worker /* internal SWIG method */
95*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINTERN
96*ab8db090SAndroid Build Coastguard Worker # define SWIGINTERN static SWIGUNUSED
97*ab8db090SAndroid Build Coastguard Worker #endif
98*ab8db090SAndroid Build Coastguard Worker 
99*ab8db090SAndroid Build Coastguard Worker /* internal inline SWIG method */
100*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGINTERNINLINE
101*ab8db090SAndroid Build Coastguard Worker # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
102*ab8db090SAndroid Build Coastguard Worker #endif
103*ab8db090SAndroid Build Coastguard Worker 
104*ab8db090SAndroid Build Coastguard Worker /* exporting methods */
105*ab8db090SAndroid Build Coastguard Worker #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
106*ab8db090SAndroid Build Coastguard Worker #  ifndef GCC_HASCLASSVISIBILITY
107*ab8db090SAndroid Build Coastguard Worker #    define GCC_HASCLASSVISIBILITY
108*ab8db090SAndroid Build Coastguard Worker #  endif
109*ab8db090SAndroid Build Coastguard Worker #endif
110*ab8db090SAndroid Build Coastguard Worker 
111*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGEXPORT
112*ab8db090SAndroid Build Coastguard Worker # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
113*ab8db090SAndroid Build Coastguard Worker #   if defined(STATIC_LINKED)
114*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT
115*ab8db090SAndroid Build Coastguard Worker #   else
116*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT __declspec(dllexport)
117*ab8db090SAndroid Build Coastguard Worker #   endif
118*ab8db090SAndroid Build Coastguard Worker # else
119*ab8db090SAndroid Build Coastguard Worker #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
120*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT __attribute__ ((visibility("default")))
121*ab8db090SAndroid Build Coastguard Worker #   else
122*ab8db090SAndroid Build Coastguard Worker #     define SWIGEXPORT
123*ab8db090SAndroid Build Coastguard Worker #   endif
124*ab8db090SAndroid Build Coastguard Worker # endif
125*ab8db090SAndroid Build Coastguard Worker #endif
126*ab8db090SAndroid Build Coastguard Worker 
127*ab8db090SAndroid Build Coastguard Worker /* calling conventions for Windows */
128*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGSTDCALL
129*ab8db090SAndroid Build Coastguard Worker # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
130*ab8db090SAndroid Build Coastguard Worker #   define SWIGSTDCALL __stdcall
131*ab8db090SAndroid Build Coastguard Worker # else
132*ab8db090SAndroid Build Coastguard Worker #   define SWIGSTDCALL
133*ab8db090SAndroid Build Coastguard Worker # endif
134*ab8db090SAndroid Build Coastguard Worker #endif
135*ab8db090SAndroid Build Coastguard Worker 
136*ab8db090SAndroid Build Coastguard Worker /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
137*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
138*ab8db090SAndroid Build Coastguard Worker # define _CRT_SECURE_NO_DEPRECATE
139*ab8db090SAndroid Build Coastguard Worker #endif
140*ab8db090SAndroid Build Coastguard Worker 
141*ab8db090SAndroid Build Coastguard Worker /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
142*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
143*ab8db090SAndroid Build Coastguard Worker # define _SCL_SECURE_NO_DEPRECATE
144*ab8db090SAndroid Build Coastguard Worker #endif
145*ab8db090SAndroid Build Coastguard Worker 
146*ab8db090SAndroid Build Coastguard Worker 
147*ab8db090SAndroid Build Coastguard Worker 
148*ab8db090SAndroid Build Coastguard Worker /* Python.h has to appear first */
149*ab8db090SAndroid Build Coastguard Worker #include <Python.h>
150*ab8db090SAndroid Build Coastguard Worker 
151*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
152*ab8db090SAndroid Build Coastguard Worker  * swigrun.swg
153*ab8db090SAndroid Build Coastguard Worker  *
154*ab8db090SAndroid Build Coastguard Worker  * This file contains generic C API SWIG runtime support for pointer
155*ab8db090SAndroid Build Coastguard Worker  * type checking.
156*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
157*ab8db090SAndroid Build Coastguard Worker 
158*ab8db090SAndroid Build Coastguard Worker /* This should only be incremented when either the layout of swig_type_info changes,
159*ab8db090SAndroid Build Coastguard Worker    or for whatever reason, the runtime changes incompatibly */
160*ab8db090SAndroid Build Coastguard Worker #define SWIG_RUNTIME_VERSION "4"
161*ab8db090SAndroid Build Coastguard Worker 
162*ab8db090SAndroid Build Coastguard Worker /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
163*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_TYPE_TABLE
164*ab8db090SAndroid Build Coastguard Worker # define SWIG_QUOTE_STRING(x) #x
165*ab8db090SAndroid Build Coastguard Worker # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
166*ab8db090SAndroid Build Coastguard Worker # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
167*ab8db090SAndroid Build Coastguard Worker #else
168*ab8db090SAndroid Build Coastguard Worker # define SWIG_TYPE_TABLE_NAME
169*ab8db090SAndroid Build Coastguard Worker #endif
170*ab8db090SAndroid Build Coastguard Worker 
171*ab8db090SAndroid Build Coastguard Worker /*
172*ab8db090SAndroid Build Coastguard Worker   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
173*ab8db090SAndroid Build Coastguard Worker   creating a static or dynamic library from the SWIG runtime code.
174*ab8db090SAndroid Build Coastguard Worker   In 99.9% of the cases, SWIG just needs to declare them as 'static'.
175*ab8db090SAndroid Build Coastguard Worker 
176*ab8db090SAndroid Build Coastguard Worker   But only do this if strictly necessary, ie, if you have problems
177*ab8db090SAndroid Build Coastguard Worker   with your compiler or suchlike.
178*ab8db090SAndroid Build Coastguard Worker */
179*ab8db090SAndroid Build Coastguard Worker 
180*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGRUNTIME
181*ab8db090SAndroid Build Coastguard Worker # define SWIGRUNTIME SWIGINTERN
182*ab8db090SAndroid Build Coastguard Worker #endif
183*ab8db090SAndroid Build Coastguard Worker 
184*ab8db090SAndroid Build Coastguard Worker #ifndef SWIGRUNTIMEINLINE
185*ab8db090SAndroid Build Coastguard Worker # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
186*ab8db090SAndroid Build Coastguard Worker #endif
187*ab8db090SAndroid Build Coastguard Worker 
188*ab8db090SAndroid Build Coastguard Worker /*  Generic buffer size */
189*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_BUFFER_SIZE
190*ab8db090SAndroid Build Coastguard Worker # define SWIG_BUFFER_SIZE 1024
191*ab8db090SAndroid Build Coastguard Worker #endif
192*ab8db090SAndroid Build Coastguard Worker 
193*ab8db090SAndroid Build Coastguard Worker /* Flags for pointer conversions */
194*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_DISOWN        0x1
195*ab8db090SAndroid Build Coastguard Worker #define SWIG_CAST_NEW_MEMORY       0x2
196*ab8db090SAndroid Build Coastguard Worker 
197*ab8db090SAndroid Build Coastguard Worker /* Flags for new pointer objects */
198*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_OWN           0x1
199*ab8db090SAndroid Build Coastguard Worker 
200*ab8db090SAndroid Build Coastguard Worker 
201*ab8db090SAndroid Build Coastguard Worker /*
202*ab8db090SAndroid Build Coastguard Worker    Flags/methods for returning states.
203*ab8db090SAndroid Build Coastguard Worker 
204*ab8db090SAndroid Build Coastguard Worker    The SWIG conversion methods, as ConvertPtr, return and integer
205*ab8db090SAndroid Build Coastguard Worker    that tells if the conversion was successful or not. And if not,
206*ab8db090SAndroid Build Coastguard Worker    an error code can be returned (see swigerrors.swg for the codes).
207*ab8db090SAndroid Build Coastguard Worker 
208*ab8db090SAndroid Build Coastguard Worker    Use the following macros/flags to set or process the returning
209*ab8db090SAndroid Build Coastguard Worker    states.
210*ab8db090SAndroid Build Coastguard Worker 
211*ab8db090SAndroid Build Coastguard Worker    In old versions of SWIG, code such as the following was usually written:
212*ab8db090SAndroid Build Coastguard Worker 
213*ab8db090SAndroid Build Coastguard Worker      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
214*ab8db090SAndroid Build Coastguard Worker        // success code
215*ab8db090SAndroid Build Coastguard Worker      } else {
216*ab8db090SAndroid Build Coastguard Worker        //fail code
217*ab8db090SAndroid Build Coastguard Worker      }
218*ab8db090SAndroid Build Coastguard Worker 
219*ab8db090SAndroid Build Coastguard Worker    Now you can be more explicit:
220*ab8db090SAndroid Build Coastguard Worker 
221*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
222*ab8db090SAndroid Build Coastguard Worker     if (SWIG_IsOK(res)) {
223*ab8db090SAndroid Build Coastguard Worker       // success code
224*ab8db090SAndroid Build Coastguard Worker     } else {
225*ab8db090SAndroid Build Coastguard Worker       // fail code
226*ab8db090SAndroid Build Coastguard Worker     }
227*ab8db090SAndroid Build Coastguard Worker 
228*ab8db090SAndroid Build Coastguard Worker    which is the same really, but now you can also do
229*ab8db090SAndroid Build Coastguard Worker 
230*ab8db090SAndroid Build Coastguard Worker     Type *ptr;
231*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
232*ab8db090SAndroid Build Coastguard Worker     if (SWIG_IsOK(res)) {
233*ab8db090SAndroid Build Coastguard Worker       // success code
234*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsNewObj(res) {
235*ab8db090SAndroid Build Coastguard Worker         ...
236*ab8db090SAndroid Build Coastguard Worker 	delete *ptr;
237*ab8db090SAndroid Build Coastguard Worker       } else {
238*ab8db090SAndroid Build Coastguard Worker         ...
239*ab8db090SAndroid Build Coastguard Worker       }
240*ab8db090SAndroid Build Coastguard Worker     } else {
241*ab8db090SAndroid Build Coastguard Worker       // fail code
242*ab8db090SAndroid Build Coastguard Worker     }
243*ab8db090SAndroid Build Coastguard Worker 
244*ab8db090SAndroid Build Coastguard Worker    I.e., now SWIG_ConvertPtr can return new objects and you can
245*ab8db090SAndroid Build Coastguard Worker    identify the case and take care of the deallocation. Of course that
246*ab8db090SAndroid Build Coastguard Worker    also requires SWIG_ConvertPtr to return new result values, such as
247*ab8db090SAndroid Build Coastguard Worker 
248*ab8db090SAndroid Build Coastguard Worker       int SWIG_ConvertPtr(obj, ptr,...) {
249*ab8db090SAndroid Build Coastguard Worker         if (<obj is ok>) {
250*ab8db090SAndroid Build Coastguard Worker           if (<need new object>) {
251*ab8db090SAndroid Build Coastguard Worker             *ptr = <ptr to new allocated object>;
252*ab8db090SAndroid Build Coastguard Worker             return SWIG_NEWOBJ;
253*ab8db090SAndroid Build Coastguard Worker           } else {
254*ab8db090SAndroid Build Coastguard Worker             *ptr = <ptr to old object>;
255*ab8db090SAndroid Build Coastguard Worker             return SWIG_OLDOBJ;
256*ab8db090SAndroid Build Coastguard Worker           }
257*ab8db090SAndroid Build Coastguard Worker         } else {
258*ab8db090SAndroid Build Coastguard Worker           return SWIG_BADOBJ;
259*ab8db090SAndroid Build Coastguard Worker         }
260*ab8db090SAndroid Build Coastguard Worker       }
261*ab8db090SAndroid Build Coastguard Worker 
262*ab8db090SAndroid Build Coastguard Worker    Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
263*ab8db090SAndroid Build Coastguard Worker    more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
264*ab8db090SAndroid Build Coastguard Worker    SWIG errors code.
265*ab8db090SAndroid Build Coastguard Worker 
266*ab8db090SAndroid Build Coastguard Worker    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
267*ab8db090SAndroid Build Coastguard Worker    allows to return the 'cast rank', for example, if you have this
268*ab8db090SAndroid Build Coastguard Worker 
269*ab8db090SAndroid Build Coastguard Worker        int food(double)
270*ab8db090SAndroid Build Coastguard Worker        int fooi(int);
271*ab8db090SAndroid Build Coastguard Worker 
272*ab8db090SAndroid Build Coastguard Worker    and you call
273*ab8db090SAndroid Build Coastguard Worker 
274*ab8db090SAndroid Build Coastguard Worker       food(1)   // cast rank '1'  (1 -> 1.0)
275*ab8db090SAndroid Build Coastguard Worker       fooi(1)   // cast rank '0'
276*ab8db090SAndroid Build Coastguard Worker 
277*ab8db090SAndroid Build Coastguard Worker    just use the SWIG_AddCast()/SWIG_CheckState()
278*ab8db090SAndroid Build Coastguard Worker */
279*ab8db090SAndroid Build Coastguard Worker 
280*ab8db090SAndroid Build Coastguard Worker #define SWIG_OK                    (0)
281*ab8db090SAndroid Build Coastguard Worker #define SWIG_ERROR                 (-1)
282*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsOK(r)               (r >= 0)
283*ab8db090SAndroid Build Coastguard Worker #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
284*ab8db090SAndroid Build Coastguard Worker 
285*ab8db090SAndroid Build Coastguard Worker /* The CastRankLimit says how many bits are used for the cast rank */
286*ab8db090SAndroid Build Coastguard Worker #define SWIG_CASTRANKLIMIT         (1 << 8)
287*ab8db090SAndroid Build Coastguard Worker /* The NewMask denotes the object was created (using new/malloc) */
288*ab8db090SAndroid Build Coastguard Worker #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
289*ab8db090SAndroid Build Coastguard Worker /* The TmpMask is for in/out typemaps that use temporal objects */
290*ab8db090SAndroid Build Coastguard Worker #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
291*ab8db090SAndroid Build Coastguard Worker /* Simple returning values */
292*ab8db090SAndroid Build Coastguard Worker #define SWIG_BADOBJ                (SWIG_ERROR)
293*ab8db090SAndroid Build Coastguard Worker #define SWIG_OLDOBJ                (SWIG_OK)
294*ab8db090SAndroid Build Coastguard Worker #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
295*ab8db090SAndroid Build Coastguard Worker #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
296*ab8db090SAndroid Build Coastguard Worker /* Check, add and del mask methods */
297*ab8db090SAndroid Build Coastguard Worker #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
298*ab8db090SAndroid Build Coastguard Worker #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
299*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
300*ab8db090SAndroid Build Coastguard Worker #define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
301*ab8db090SAndroid Build Coastguard Worker #define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
302*ab8db090SAndroid Build Coastguard Worker #define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
303*ab8db090SAndroid Build Coastguard Worker 
304*ab8db090SAndroid Build Coastguard Worker /* Cast-Rank Mode */
305*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_CASTRANK_MODE)
306*ab8db090SAndroid Build Coastguard Worker #  ifndef SWIG_TypeRank
307*ab8db090SAndroid Build Coastguard Worker #    define SWIG_TypeRank             unsigned long
308*ab8db090SAndroid Build Coastguard Worker #  endif
309*ab8db090SAndroid Build Coastguard Worker #  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
310*ab8db090SAndroid Build Coastguard Worker #    define SWIG_MAXCASTRANK          (2)
311*ab8db090SAndroid Build Coastguard Worker #  endif
312*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
313*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIG_AddCast(int r)314*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int SWIG_AddCast(int r) {
315*ab8db090SAndroid Build Coastguard Worker   return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
316*ab8db090SAndroid Build Coastguard Worker }
SWIG_CheckState(int r)317*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int SWIG_CheckState(int r) {
318*ab8db090SAndroid Build Coastguard Worker   return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
319*ab8db090SAndroid Build Coastguard Worker }
320*ab8db090SAndroid Build Coastguard Worker #else /* no cast-rank mode */
321*ab8db090SAndroid Build Coastguard Worker #  define SWIG_AddCast
322*ab8db090SAndroid Build Coastguard Worker #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
323*ab8db090SAndroid Build Coastguard Worker #endif
324*ab8db090SAndroid Build Coastguard Worker 
325*ab8db090SAndroid Build Coastguard Worker 
326*ab8db090SAndroid Build Coastguard Worker #include <string.h>
327*ab8db090SAndroid Build Coastguard Worker 
328*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
329*ab8db090SAndroid Build Coastguard Worker extern "C" {
330*ab8db090SAndroid Build Coastguard Worker #endif
331*ab8db090SAndroid Build Coastguard Worker 
332*ab8db090SAndroid Build Coastguard Worker typedef void *(*swig_converter_func)(void *, int *);
333*ab8db090SAndroid Build Coastguard Worker typedef struct swig_type_info *(*swig_dycast_func)(void **);
334*ab8db090SAndroid Build Coastguard Worker 
335*ab8db090SAndroid Build Coastguard Worker /* Structure to store information on one type */
336*ab8db090SAndroid Build Coastguard Worker typedef struct swig_type_info {
337*ab8db090SAndroid Build Coastguard Worker   const char             *name;			/* mangled name of this type */
338*ab8db090SAndroid Build Coastguard Worker   const char             *str;			/* human readable name of this type */
339*ab8db090SAndroid Build Coastguard Worker   swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
340*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
341*ab8db090SAndroid Build Coastguard Worker   void                   *clientdata;		/* language specific type data */
342*ab8db090SAndroid Build Coastguard Worker   int                    owndata;		/* flag if the structure owns the clientdata */
343*ab8db090SAndroid Build Coastguard Worker } swig_type_info;
344*ab8db090SAndroid Build Coastguard Worker 
345*ab8db090SAndroid Build Coastguard Worker /* Structure to store a type and conversion function used for casting */
346*ab8db090SAndroid Build Coastguard Worker typedef struct swig_cast_info {
347*ab8db090SAndroid Build Coastguard Worker   swig_type_info         *type;			/* pointer to type that is equivalent to this type */
348*ab8db090SAndroid Build Coastguard Worker   swig_converter_func     converter;		/* function to cast the void pointers */
349*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *next;			/* pointer to next cast in linked list */
350*ab8db090SAndroid Build Coastguard Worker   struct swig_cast_info  *prev;			/* pointer to the previous cast */
351*ab8db090SAndroid Build Coastguard Worker } swig_cast_info;
352*ab8db090SAndroid Build Coastguard Worker 
353*ab8db090SAndroid Build Coastguard Worker /* Structure used to store module information
354*ab8db090SAndroid Build Coastguard Worker  * Each module generates one structure like this, and the runtime collects
355*ab8db090SAndroid Build Coastguard Worker  * all of these structures and stores them in a circularly linked list.*/
356*ab8db090SAndroid Build Coastguard Worker typedef struct swig_module_info {
357*ab8db090SAndroid Build Coastguard Worker   swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
358*ab8db090SAndroid Build Coastguard Worker   size_t                 size;		        /* Number of types in this module */
359*ab8db090SAndroid Build Coastguard Worker   struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
360*ab8db090SAndroid Build Coastguard Worker   swig_type_info         **type_initial;	/* Array of initially generated type structures */
361*ab8db090SAndroid Build Coastguard Worker   swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
362*ab8db090SAndroid Build Coastguard Worker   void                    *clientdata;		/* Language specific module data */
363*ab8db090SAndroid Build Coastguard Worker } swig_module_info;
364*ab8db090SAndroid Build Coastguard Worker 
365*ab8db090SAndroid Build Coastguard Worker /*
366*ab8db090SAndroid Build Coastguard Worker   Compare two type names skipping the space characters, therefore
367*ab8db090SAndroid Build Coastguard Worker   "char*" == "char *" and "Class<int>" == "Class<int >", etc.
368*ab8db090SAndroid Build Coastguard Worker 
369*ab8db090SAndroid Build Coastguard Worker   Return 0 when the two name types are equivalent, as in
370*ab8db090SAndroid Build Coastguard Worker   strncmp, but skipping ' '.
371*ab8db090SAndroid Build Coastguard Worker */
372*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)373*ab8db090SAndroid Build Coastguard Worker SWIG_TypeNameComp(const char *f1, const char *l1,
374*ab8db090SAndroid Build Coastguard Worker 		  const char *f2, const char *l2) {
375*ab8db090SAndroid Build Coastguard Worker   for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
376*ab8db090SAndroid Build Coastguard Worker     while ((*f1 == ' ') && (f1 != l1)) ++f1;
377*ab8db090SAndroid Build Coastguard Worker     while ((*f2 == ' ') && (f2 != l2)) ++f2;
378*ab8db090SAndroid Build Coastguard Worker     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
379*ab8db090SAndroid Build Coastguard Worker   }
380*ab8db090SAndroid Build Coastguard Worker   return (int)((l1 - f1) - (l2 - f2));
381*ab8db090SAndroid Build Coastguard Worker }
382*ab8db090SAndroid Build Coastguard Worker 
383*ab8db090SAndroid Build Coastguard Worker /*
384*ab8db090SAndroid Build Coastguard Worker   Check type equivalence in a name list like <name1>|<name2>|...
385*ab8db090SAndroid Build Coastguard Worker   Return 0 if not equal, 1 if equal
386*ab8db090SAndroid Build Coastguard Worker */
387*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)388*ab8db090SAndroid Build Coastguard Worker SWIG_TypeEquiv(const char *nb, const char *tb) {
389*ab8db090SAndroid Build Coastguard Worker   int equiv = 0;
390*ab8db090SAndroid Build Coastguard Worker   const char* te = tb + strlen(tb);
391*ab8db090SAndroid Build Coastguard Worker   const char* ne = nb;
392*ab8db090SAndroid Build Coastguard Worker   while (!equiv && *ne) {
393*ab8db090SAndroid Build Coastguard Worker     for (nb = ne; *ne; ++ne) {
394*ab8db090SAndroid Build Coastguard Worker       if (*ne == '|') break;
395*ab8db090SAndroid Build Coastguard Worker     }
396*ab8db090SAndroid Build Coastguard Worker     equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
397*ab8db090SAndroid Build Coastguard Worker     if (*ne) ++ne;
398*ab8db090SAndroid Build Coastguard Worker   }
399*ab8db090SAndroid Build Coastguard Worker   return equiv;
400*ab8db090SAndroid Build Coastguard Worker }
401*ab8db090SAndroid Build Coastguard Worker 
402*ab8db090SAndroid Build Coastguard Worker /*
403*ab8db090SAndroid Build Coastguard Worker   Check type equivalence in a name list like <name1>|<name2>|...
404*ab8db090SAndroid Build Coastguard Worker   Return 0 if equal, -1 if nb < tb, 1 if nb > tb
405*ab8db090SAndroid Build Coastguard Worker */
406*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_TypeCompare(const char * nb,const char * tb)407*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCompare(const char *nb, const char *tb) {
408*ab8db090SAndroid Build Coastguard Worker   int equiv = 0;
409*ab8db090SAndroid Build Coastguard Worker   const char* te = tb + strlen(tb);
410*ab8db090SAndroid Build Coastguard Worker   const char* ne = nb;
411*ab8db090SAndroid Build Coastguard Worker   while (!equiv && *ne) {
412*ab8db090SAndroid Build Coastguard Worker     for (nb = ne; *ne; ++ne) {
413*ab8db090SAndroid Build Coastguard Worker       if (*ne == '|') break;
414*ab8db090SAndroid Build Coastguard Worker     }
415*ab8db090SAndroid Build Coastguard Worker     equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
416*ab8db090SAndroid Build Coastguard Worker     if (*ne) ++ne;
417*ab8db090SAndroid Build Coastguard Worker   }
418*ab8db090SAndroid Build Coastguard Worker   return equiv;
419*ab8db090SAndroid Build Coastguard Worker }
420*ab8db090SAndroid Build Coastguard Worker 
421*ab8db090SAndroid Build Coastguard Worker 
422*ab8db090SAndroid Build Coastguard Worker /*
423*ab8db090SAndroid Build Coastguard Worker   Check the typename
424*ab8db090SAndroid Build Coastguard Worker */
425*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)426*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCheck(const char *c, swig_type_info *ty) {
427*ab8db090SAndroid Build Coastguard Worker   if (ty) {
428*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *iter = ty->cast;
429*ab8db090SAndroid Build Coastguard Worker     while (iter) {
430*ab8db090SAndroid Build Coastguard Worker       if (strcmp(iter->type->name, c) == 0) {
431*ab8db090SAndroid Build Coastguard Worker         if (iter == ty->cast)
432*ab8db090SAndroid Build Coastguard Worker           return iter;
433*ab8db090SAndroid Build Coastguard Worker         /* Move iter to the top of the linked list */
434*ab8db090SAndroid Build Coastguard Worker         iter->prev->next = iter->next;
435*ab8db090SAndroid Build Coastguard Worker         if (iter->next)
436*ab8db090SAndroid Build Coastguard Worker           iter->next->prev = iter->prev;
437*ab8db090SAndroid Build Coastguard Worker         iter->next = ty->cast;
438*ab8db090SAndroid Build Coastguard Worker         iter->prev = 0;
439*ab8db090SAndroid Build Coastguard Worker         if (ty->cast) ty->cast->prev = iter;
440*ab8db090SAndroid Build Coastguard Worker         ty->cast = iter;
441*ab8db090SAndroid Build Coastguard Worker         return iter;
442*ab8db090SAndroid Build Coastguard Worker       }
443*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
444*ab8db090SAndroid Build Coastguard Worker     }
445*ab8db090SAndroid Build Coastguard Worker   }
446*ab8db090SAndroid Build Coastguard Worker   return 0;
447*ab8db090SAndroid Build Coastguard Worker }
448*ab8db090SAndroid Build Coastguard Worker 
449*ab8db090SAndroid Build Coastguard Worker /*
450*ab8db090SAndroid Build Coastguard Worker   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
451*ab8db090SAndroid Build Coastguard Worker */
452*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info * from,swig_type_info * ty)453*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
454*ab8db090SAndroid Build Coastguard Worker   if (ty) {
455*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *iter = ty->cast;
456*ab8db090SAndroid Build Coastguard Worker     while (iter) {
457*ab8db090SAndroid Build Coastguard Worker       if (iter->type == from) {
458*ab8db090SAndroid Build Coastguard Worker         if (iter == ty->cast)
459*ab8db090SAndroid Build Coastguard Worker           return iter;
460*ab8db090SAndroid Build Coastguard Worker         /* Move iter to the top of the linked list */
461*ab8db090SAndroid Build Coastguard Worker         iter->prev->next = iter->next;
462*ab8db090SAndroid Build Coastguard Worker         if (iter->next)
463*ab8db090SAndroid Build Coastguard Worker           iter->next->prev = iter->prev;
464*ab8db090SAndroid Build Coastguard Worker         iter->next = ty->cast;
465*ab8db090SAndroid Build Coastguard Worker         iter->prev = 0;
466*ab8db090SAndroid Build Coastguard Worker         if (ty->cast) ty->cast->prev = iter;
467*ab8db090SAndroid Build Coastguard Worker         ty->cast = iter;
468*ab8db090SAndroid Build Coastguard Worker         return iter;
469*ab8db090SAndroid Build Coastguard Worker       }
470*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
471*ab8db090SAndroid Build Coastguard Worker     }
472*ab8db090SAndroid Build Coastguard Worker   }
473*ab8db090SAndroid Build Coastguard Worker   return 0;
474*ab8db090SAndroid Build Coastguard Worker }
475*ab8db090SAndroid Build Coastguard Worker 
476*ab8db090SAndroid Build Coastguard Worker /*
477*ab8db090SAndroid Build Coastguard Worker   Cast a pointer up an inheritance hierarchy
478*ab8db090SAndroid Build Coastguard Worker */
479*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info * ty,void * ptr,int * newmemory)480*ab8db090SAndroid Build Coastguard Worker SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
481*ab8db090SAndroid Build Coastguard Worker   return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
482*ab8db090SAndroid Build Coastguard Worker }
483*ab8db090SAndroid Build Coastguard Worker 
484*ab8db090SAndroid Build Coastguard Worker /*
485*ab8db090SAndroid Build Coastguard Worker    Dynamic pointer casting. Down an inheritance hierarchy
486*ab8db090SAndroid Build Coastguard Worker */
487*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)488*ab8db090SAndroid Build Coastguard Worker SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
489*ab8db090SAndroid Build Coastguard Worker   swig_type_info *lastty = ty;
490*ab8db090SAndroid Build Coastguard Worker   if (!ty || !ty->dcast) return ty;
491*ab8db090SAndroid Build Coastguard Worker   while (ty && (ty->dcast)) {
492*ab8db090SAndroid Build Coastguard Worker     ty = (*ty->dcast)(ptr);
493*ab8db090SAndroid Build Coastguard Worker     if (ty) lastty = ty;
494*ab8db090SAndroid Build Coastguard Worker   }
495*ab8db090SAndroid Build Coastguard Worker   return lastty;
496*ab8db090SAndroid Build Coastguard Worker }
497*ab8db090SAndroid Build Coastguard Worker 
498*ab8db090SAndroid Build Coastguard Worker /*
499*ab8db090SAndroid Build Coastguard Worker   Return the name associated with this type
500*ab8db090SAndroid Build Coastguard Worker */
501*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)502*ab8db090SAndroid Build Coastguard Worker SWIG_TypeName(const swig_type_info *ty) {
503*ab8db090SAndroid Build Coastguard Worker   return ty->name;
504*ab8db090SAndroid Build Coastguard Worker }
505*ab8db090SAndroid Build Coastguard Worker 
506*ab8db090SAndroid Build Coastguard Worker /*
507*ab8db090SAndroid Build Coastguard Worker   Return the pretty name associated with this type,
508*ab8db090SAndroid Build Coastguard Worker   that is an unmangled type name in a form presentable to the user.
509*ab8db090SAndroid Build Coastguard Worker */
510*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)511*ab8db090SAndroid Build Coastguard Worker SWIG_TypePrettyName(const swig_type_info *type) {
512*ab8db090SAndroid Build Coastguard Worker   /* The "str" field contains the equivalent pretty names of the
513*ab8db090SAndroid Build Coastguard Worker      type, separated by vertical-bar characters.  We choose
514*ab8db090SAndroid Build Coastguard Worker      to print the last name, as it is often (?) the most
515*ab8db090SAndroid Build Coastguard Worker      specific. */
516*ab8db090SAndroid Build Coastguard Worker   if (!type) return NULL;
517*ab8db090SAndroid Build Coastguard Worker   if (type->str != NULL) {
518*ab8db090SAndroid Build Coastguard Worker     const char *last_name = type->str;
519*ab8db090SAndroid Build Coastguard Worker     const char *s;
520*ab8db090SAndroid Build Coastguard Worker     for (s = type->str; *s; s++)
521*ab8db090SAndroid Build Coastguard Worker       if (*s == '|') last_name = s+1;
522*ab8db090SAndroid Build Coastguard Worker     return last_name;
523*ab8db090SAndroid Build Coastguard Worker   }
524*ab8db090SAndroid Build Coastguard Worker   else
525*ab8db090SAndroid Build Coastguard Worker     return type->name;
526*ab8db090SAndroid Build Coastguard Worker }
527*ab8db090SAndroid Build Coastguard Worker 
528*ab8db090SAndroid Build Coastguard Worker /*
529*ab8db090SAndroid Build Coastguard Worker    Set the clientdata field for a type
530*ab8db090SAndroid Build Coastguard Worker */
531*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)532*ab8db090SAndroid Build Coastguard Worker SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
533*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *cast = ti->cast;
534*ab8db090SAndroid Build Coastguard Worker   /* if (ti->clientdata == clientdata) return; */
535*ab8db090SAndroid Build Coastguard Worker   ti->clientdata = clientdata;
536*ab8db090SAndroid Build Coastguard Worker 
537*ab8db090SAndroid Build Coastguard Worker   while (cast) {
538*ab8db090SAndroid Build Coastguard Worker     if (!cast->converter) {
539*ab8db090SAndroid Build Coastguard Worker       swig_type_info *tc = cast->type;
540*ab8db090SAndroid Build Coastguard Worker       if (!tc->clientdata) {
541*ab8db090SAndroid Build Coastguard Worker 	SWIG_TypeClientData(tc, clientdata);
542*ab8db090SAndroid Build Coastguard Worker       }
543*ab8db090SAndroid Build Coastguard Worker     }
544*ab8db090SAndroid Build Coastguard Worker     cast = cast->next;
545*ab8db090SAndroid Build Coastguard Worker   }
546*ab8db090SAndroid Build Coastguard Worker }
547*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info * ti,void * clientdata)548*ab8db090SAndroid Build Coastguard Worker SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
549*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeClientData(ti, clientdata);
550*ab8db090SAndroid Build Coastguard Worker   ti->owndata = 1;
551*ab8db090SAndroid Build Coastguard Worker }
552*ab8db090SAndroid Build Coastguard Worker 
553*ab8db090SAndroid Build Coastguard Worker /*
554*ab8db090SAndroid Build Coastguard Worker   Search for a swig_type_info structure only by mangled name
555*ab8db090SAndroid Build Coastguard Worker   Search is a O(log #types)
556*ab8db090SAndroid Build Coastguard Worker 
557*ab8db090SAndroid Build Coastguard Worker   We start searching at module start, and finish searching when start == end.
558*ab8db090SAndroid Build Coastguard Worker   Note: if start == end at the beginning of the function, we go all the way around
559*ab8db090SAndroid Build Coastguard Worker   the circular list.
560*ab8db090SAndroid Build Coastguard Worker */
561*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)562*ab8db090SAndroid Build Coastguard Worker SWIG_MangledTypeQueryModule(swig_module_info *start,
563*ab8db090SAndroid Build Coastguard Worker                             swig_module_info *end,
564*ab8db090SAndroid Build Coastguard Worker 		            const char *name) {
565*ab8db090SAndroid Build Coastguard Worker   swig_module_info *iter = start;
566*ab8db090SAndroid Build Coastguard Worker   do {
567*ab8db090SAndroid Build Coastguard Worker     if (iter->size) {
568*ab8db090SAndroid Build Coastguard Worker       register size_t l = 0;
569*ab8db090SAndroid Build Coastguard Worker       register size_t r = iter->size - 1;
570*ab8db090SAndroid Build Coastguard Worker       do {
571*ab8db090SAndroid Build Coastguard Worker 	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
572*ab8db090SAndroid Build Coastguard Worker 	register size_t i = (l + r) >> 1;
573*ab8db090SAndroid Build Coastguard Worker 	const char *iname = iter->types[i]->name;
574*ab8db090SAndroid Build Coastguard Worker 	if (iname) {
575*ab8db090SAndroid Build Coastguard Worker 	  register int compare = strcmp(name, iname);
576*ab8db090SAndroid Build Coastguard Worker 	  if (compare == 0) {
577*ab8db090SAndroid Build Coastguard Worker 	    return iter->types[i];
578*ab8db090SAndroid Build Coastguard Worker 	  } else if (compare < 0) {
579*ab8db090SAndroid Build Coastguard Worker 	    if (i) {
580*ab8db090SAndroid Build Coastguard Worker 	      r = i - 1;
581*ab8db090SAndroid Build Coastguard Worker 	    } else {
582*ab8db090SAndroid Build Coastguard Worker 	      break;
583*ab8db090SAndroid Build Coastguard Worker 	    }
584*ab8db090SAndroid Build Coastguard Worker 	  } else if (compare > 0) {
585*ab8db090SAndroid Build Coastguard Worker 	    l = i + 1;
586*ab8db090SAndroid Build Coastguard Worker 	  }
587*ab8db090SAndroid Build Coastguard Worker 	} else {
588*ab8db090SAndroid Build Coastguard Worker 	  break; /* should never happen */
589*ab8db090SAndroid Build Coastguard Worker 	}
590*ab8db090SAndroid Build Coastguard Worker       } while (l <= r);
591*ab8db090SAndroid Build Coastguard Worker     }
592*ab8db090SAndroid Build Coastguard Worker     iter = iter->next;
593*ab8db090SAndroid Build Coastguard Worker   } while (iter != end);
594*ab8db090SAndroid Build Coastguard Worker   return 0;
595*ab8db090SAndroid Build Coastguard Worker }
596*ab8db090SAndroid Build Coastguard Worker 
597*ab8db090SAndroid Build Coastguard Worker /*
598*ab8db090SAndroid Build Coastguard Worker   Search for a swig_type_info structure for either a mangled name or a human readable name.
599*ab8db090SAndroid Build Coastguard Worker   It first searches the mangled names of the types, which is a O(log #types)
600*ab8db090SAndroid Build Coastguard Worker   If a type is not found it then searches the human readable names, which is O(#types).
601*ab8db090SAndroid Build Coastguard Worker 
602*ab8db090SAndroid Build Coastguard Worker   We start searching at module start, and finish searching when start == end.
603*ab8db090SAndroid Build Coastguard Worker   Note: if start == end at the beginning of the function, we go all the way around
604*ab8db090SAndroid Build Coastguard Worker   the circular list.
605*ab8db090SAndroid Build Coastguard Worker */
606*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)607*ab8db090SAndroid Build Coastguard Worker SWIG_TypeQueryModule(swig_module_info *start,
608*ab8db090SAndroid Build Coastguard Worker                      swig_module_info *end,
609*ab8db090SAndroid Build Coastguard Worker 		     const char *name) {
610*ab8db090SAndroid Build Coastguard Worker   /* STEP 1: Search the name field using binary search */
611*ab8db090SAndroid Build Coastguard Worker   swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
612*ab8db090SAndroid Build Coastguard Worker   if (ret) {
613*ab8db090SAndroid Build Coastguard Worker     return ret;
614*ab8db090SAndroid Build Coastguard Worker   } else {
615*ab8db090SAndroid Build Coastguard Worker     /* STEP 2: If the type hasn't been found, do a complete search
616*ab8db090SAndroid Build Coastguard Worker        of the str field (the human readable name) */
617*ab8db090SAndroid Build Coastguard Worker     swig_module_info *iter = start;
618*ab8db090SAndroid Build Coastguard Worker     do {
619*ab8db090SAndroid Build Coastguard Worker       register size_t i = 0;
620*ab8db090SAndroid Build Coastguard Worker       for (; i < iter->size; ++i) {
621*ab8db090SAndroid Build Coastguard Worker 	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
622*ab8db090SAndroid Build Coastguard Worker 	  return iter->types[i];
623*ab8db090SAndroid Build Coastguard Worker       }
624*ab8db090SAndroid Build Coastguard Worker       iter = iter->next;
625*ab8db090SAndroid Build Coastguard Worker     } while (iter != end);
626*ab8db090SAndroid Build Coastguard Worker   }
627*ab8db090SAndroid Build Coastguard Worker 
628*ab8db090SAndroid Build Coastguard Worker   /* neither found a match */
629*ab8db090SAndroid Build Coastguard Worker   return 0;
630*ab8db090SAndroid Build Coastguard Worker }
631*ab8db090SAndroid Build Coastguard Worker 
632*ab8db090SAndroid Build Coastguard Worker /*
633*ab8db090SAndroid Build Coastguard Worker    Pack binary data into a string
634*ab8db090SAndroid Build Coastguard Worker */
635*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)636*ab8db090SAndroid Build Coastguard Worker SWIG_PackData(char *c, void *ptr, size_t sz) {
637*ab8db090SAndroid Build Coastguard Worker   static const char hex[17] = "0123456789abcdef";
638*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *u = (unsigned char *) ptr;
639*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *eu =  u + sz;
640*ab8db090SAndroid Build Coastguard Worker   for (; u != eu; ++u) {
641*ab8db090SAndroid Build Coastguard Worker     register unsigned char uu = *u;
642*ab8db090SAndroid Build Coastguard Worker     *(c++) = hex[(uu & 0xf0) >> 4];
643*ab8db090SAndroid Build Coastguard Worker     *(c++) = hex[uu & 0xf];
644*ab8db090SAndroid Build Coastguard Worker   }
645*ab8db090SAndroid Build Coastguard Worker   return c;
646*ab8db090SAndroid Build Coastguard Worker }
647*ab8db090SAndroid Build Coastguard Worker 
648*ab8db090SAndroid Build Coastguard Worker /*
649*ab8db090SAndroid Build Coastguard Worker    Unpack binary data from a string
650*ab8db090SAndroid Build Coastguard Worker */
651*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)652*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
653*ab8db090SAndroid Build Coastguard Worker   register unsigned char *u = (unsigned char *) ptr;
654*ab8db090SAndroid Build Coastguard Worker   register const unsigned char *eu = u + sz;
655*ab8db090SAndroid Build Coastguard Worker   for (; u != eu; ++u) {
656*ab8db090SAndroid Build Coastguard Worker     register char d = *(c++);
657*ab8db090SAndroid Build Coastguard Worker     register unsigned char uu;
658*ab8db090SAndroid Build Coastguard Worker     if ((d >= '0') && (d <= '9'))
659*ab8db090SAndroid Build Coastguard Worker       uu = ((d - '0') << 4);
660*ab8db090SAndroid Build Coastguard Worker     else if ((d >= 'a') && (d <= 'f'))
661*ab8db090SAndroid Build Coastguard Worker       uu = ((d - ('a'-10)) << 4);
662*ab8db090SAndroid Build Coastguard Worker     else
663*ab8db090SAndroid Build Coastguard Worker       return (char *) 0;
664*ab8db090SAndroid Build Coastguard Worker     d = *(c++);
665*ab8db090SAndroid Build Coastguard Worker     if ((d >= '0') && (d <= '9'))
666*ab8db090SAndroid Build Coastguard Worker       uu |= (d - '0');
667*ab8db090SAndroid Build Coastguard Worker     else if ((d >= 'a') && (d <= 'f'))
668*ab8db090SAndroid Build Coastguard Worker       uu |= (d - ('a'-10));
669*ab8db090SAndroid Build Coastguard Worker     else
670*ab8db090SAndroid Build Coastguard Worker       return (char *) 0;
671*ab8db090SAndroid Build Coastguard Worker     *u = uu;
672*ab8db090SAndroid Build Coastguard Worker   }
673*ab8db090SAndroid Build Coastguard Worker   return c;
674*ab8db090SAndroid Build Coastguard Worker }
675*ab8db090SAndroid Build Coastguard Worker 
676*ab8db090SAndroid Build Coastguard Worker /*
677*ab8db090SAndroid Build Coastguard Worker    Pack 'void *' into a string buffer.
678*ab8db090SAndroid Build Coastguard Worker */
679*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)680*ab8db090SAndroid Build Coastguard Worker SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
681*ab8db090SAndroid Build Coastguard Worker   char *r = buff;
682*ab8db090SAndroid Build Coastguard Worker   if ((2*sizeof(void *) + 2) > bsz) return 0;
683*ab8db090SAndroid Build Coastguard Worker   *(r++) = '_';
684*ab8db090SAndroid Build Coastguard Worker   r = SWIG_PackData(r,&ptr,sizeof(void *));
685*ab8db090SAndroid Build Coastguard Worker   if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
686*ab8db090SAndroid Build Coastguard Worker   strcpy(r,name);
687*ab8db090SAndroid Build Coastguard Worker   return buff;
688*ab8db090SAndroid Build Coastguard Worker }
689*ab8db090SAndroid Build Coastguard Worker 
690*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)691*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
692*ab8db090SAndroid Build Coastguard Worker   if (*c != '_') {
693*ab8db090SAndroid Build Coastguard Worker     if (strcmp(c,"NULL") == 0) {
694*ab8db090SAndroid Build Coastguard Worker       *ptr = (void *) 0;
695*ab8db090SAndroid Build Coastguard Worker       return name;
696*ab8db090SAndroid Build Coastguard Worker     } else {
697*ab8db090SAndroid Build Coastguard Worker       return 0;
698*ab8db090SAndroid Build Coastguard Worker     }
699*ab8db090SAndroid Build Coastguard Worker   }
700*ab8db090SAndroid Build Coastguard Worker   return SWIG_UnpackData(++c,ptr,sizeof(void *));
701*ab8db090SAndroid Build Coastguard Worker }
702*ab8db090SAndroid Build Coastguard Worker 
703*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)704*ab8db090SAndroid Build Coastguard Worker SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
705*ab8db090SAndroid Build Coastguard Worker   char *r = buff;
706*ab8db090SAndroid Build Coastguard Worker   size_t lname = (name ? strlen(name) : 0);
707*ab8db090SAndroid Build Coastguard Worker   if ((2*sz + 2 + lname) > bsz) return 0;
708*ab8db090SAndroid Build Coastguard Worker   *(r++) = '_';
709*ab8db090SAndroid Build Coastguard Worker   r = SWIG_PackData(r,ptr,sz);
710*ab8db090SAndroid Build Coastguard Worker   if (lname) {
711*ab8db090SAndroid Build Coastguard Worker     strncpy(r,name,lname+1);
712*ab8db090SAndroid Build Coastguard Worker   } else {
713*ab8db090SAndroid Build Coastguard Worker     *r = 0;
714*ab8db090SAndroid Build Coastguard Worker   }
715*ab8db090SAndroid Build Coastguard Worker   return buff;
716*ab8db090SAndroid Build Coastguard Worker }
717*ab8db090SAndroid Build Coastguard Worker 
718*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)719*ab8db090SAndroid Build Coastguard Worker SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
720*ab8db090SAndroid Build Coastguard Worker   if (*c != '_') {
721*ab8db090SAndroid Build Coastguard Worker     if (strcmp(c,"NULL") == 0) {
722*ab8db090SAndroid Build Coastguard Worker       memset(ptr,0,sz);
723*ab8db090SAndroid Build Coastguard Worker       return name;
724*ab8db090SAndroid Build Coastguard Worker     } else {
725*ab8db090SAndroid Build Coastguard Worker       return 0;
726*ab8db090SAndroid Build Coastguard Worker     }
727*ab8db090SAndroid Build Coastguard Worker   }
728*ab8db090SAndroid Build Coastguard Worker   return SWIG_UnpackData(++c,ptr,sz);
729*ab8db090SAndroid Build Coastguard Worker }
730*ab8db090SAndroid Build Coastguard Worker 
731*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
732*ab8db090SAndroid Build Coastguard Worker }
733*ab8db090SAndroid Build Coastguard Worker #endif
734*ab8db090SAndroid Build Coastguard Worker 
735*ab8db090SAndroid Build Coastguard Worker /*  Errors in SWIG */
736*ab8db090SAndroid Build Coastguard Worker #define  SWIG_UnknownError    	   -1
737*ab8db090SAndroid Build Coastguard Worker #define  SWIG_IOError        	   -2
738*ab8db090SAndroid Build Coastguard Worker #define  SWIG_RuntimeError   	   -3
739*ab8db090SAndroid Build Coastguard Worker #define  SWIG_IndexError     	   -4
740*ab8db090SAndroid Build Coastguard Worker #define  SWIG_TypeError      	   -5
741*ab8db090SAndroid Build Coastguard Worker #define  SWIG_DivisionByZero 	   -6
742*ab8db090SAndroid Build Coastguard Worker #define  SWIG_OverflowError  	   -7
743*ab8db090SAndroid Build Coastguard Worker #define  SWIG_SyntaxError    	   -8
744*ab8db090SAndroid Build Coastguard Worker #define  SWIG_ValueError     	   -9
745*ab8db090SAndroid Build Coastguard Worker #define  SWIG_SystemError    	   -10
746*ab8db090SAndroid Build Coastguard Worker #define  SWIG_AttributeError 	   -11
747*ab8db090SAndroid Build Coastguard Worker #define  SWIG_MemoryError    	   -12
748*ab8db090SAndroid Build Coastguard Worker #define  SWIG_NullReferenceError   -13
749*ab8db090SAndroid Build Coastguard Worker 
750*ab8db090SAndroid Build Coastguard Worker 
751*ab8db090SAndroid Build Coastguard Worker 
752*ab8db090SAndroid Build Coastguard Worker /* Compatibility macros for Python 3 */
753*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
754*ab8db090SAndroid Build Coastguard Worker 
755*ab8db090SAndroid Build Coastguard Worker #define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
756*ab8db090SAndroid Build Coastguard Worker #define PyInt_Check(x) PyLong_Check(x)
757*ab8db090SAndroid Build Coastguard Worker #define PyInt_AsLong(x) PyLong_AsLong(x)
758*ab8db090SAndroid Build Coastguard Worker #define PyInt_FromLong(x) PyLong_FromLong(x)
759*ab8db090SAndroid Build Coastguard Worker #define PyString_Format(fmt, args)  PyUnicode_Format(fmt, args)
760*ab8db090SAndroid Build Coastguard Worker 
761*ab8db090SAndroid Build Coastguard Worker #endif
762*ab8db090SAndroid Build Coastguard Worker 
763*ab8db090SAndroid Build Coastguard Worker #ifndef Py_TYPE
764*ab8db090SAndroid Build Coastguard Worker #  define Py_TYPE(op) ((op)->ob_type)
765*ab8db090SAndroid Build Coastguard Worker #endif
766*ab8db090SAndroid Build Coastguard Worker 
767*ab8db090SAndroid Build Coastguard Worker /* SWIG APIs for compatibility of both Python 2 & 3 */
768*ab8db090SAndroid Build Coastguard Worker 
769*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
770*ab8db090SAndroid Build Coastguard Worker #  define SWIG_Python_str_FromFormat PyUnicode_FromFormat
771*ab8db090SAndroid Build Coastguard Worker #else
772*ab8db090SAndroid Build Coastguard Worker #  define SWIG_Python_str_FromFormat PyString_FromFormat
773*ab8db090SAndroid Build Coastguard Worker #endif
774*ab8db090SAndroid Build Coastguard Worker 
775*ab8db090SAndroid Build Coastguard Worker 
776*ab8db090SAndroid Build Coastguard Worker /* Warning: This function will allocate a new string in Python 3,
777*ab8db090SAndroid Build Coastguard Worker  * so please call SWIG_Python_str_DelForPy3(x) to free the space.
778*ab8db090SAndroid Build Coastguard Worker  */
779*ab8db090SAndroid Build Coastguard Worker SWIGINTERN char*
SWIG_Python_str_AsChar(PyObject * str)780*ab8db090SAndroid Build Coastguard Worker SWIG_Python_str_AsChar(PyObject *str)
781*ab8db090SAndroid Build Coastguard Worker {
782*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
783*ab8db090SAndroid Build Coastguard Worker   char *cstr;
784*ab8db090SAndroid Build Coastguard Worker   char *newstr;
785*ab8db090SAndroid Build Coastguard Worker   Py_ssize_t len;
786*ab8db090SAndroid Build Coastguard Worker   str = PyUnicode_AsUTF8String(str);
787*ab8db090SAndroid Build Coastguard Worker   PyBytes_AsStringAndSize(str, &cstr, &len);
788*ab8db090SAndroid Build Coastguard Worker   newstr = (char *) malloc(len+1);
789*ab8db090SAndroid Build Coastguard Worker   memcpy(newstr, cstr, len+1);
790*ab8db090SAndroid Build Coastguard Worker   Py_XDECREF(str);
791*ab8db090SAndroid Build Coastguard Worker   return newstr;
792*ab8db090SAndroid Build Coastguard Worker #else
793*ab8db090SAndroid Build Coastguard Worker   return PyString_AsString(str);
794*ab8db090SAndroid Build Coastguard Worker #endif
795*ab8db090SAndroid Build Coastguard Worker }
796*ab8db090SAndroid Build Coastguard Worker 
797*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
798*ab8db090SAndroid Build Coastguard Worker #  define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
799*ab8db090SAndroid Build Coastguard Worker #else
800*ab8db090SAndroid Build Coastguard Worker #  define SWIG_Python_str_DelForPy3(x)
801*ab8db090SAndroid Build Coastguard Worker #endif
802*ab8db090SAndroid Build Coastguard Worker 
803*ab8db090SAndroid Build Coastguard Worker 
804*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject*
SWIG_Python_str_FromChar(const char * c)805*ab8db090SAndroid Build Coastguard Worker SWIG_Python_str_FromChar(const char *c)
806*ab8db090SAndroid Build Coastguard Worker {
807*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
808*ab8db090SAndroid Build Coastguard Worker   return PyUnicode_FromString(c);
809*ab8db090SAndroid Build Coastguard Worker #else
810*ab8db090SAndroid Build Coastguard Worker   return PyString_FromString(c);
811*ab8db090SAndroid Build Coastguard Worker #endif
812*ab8db090SAndroid Build Coastguard Worker }
813*ab8db090SAndroid Build Coastguard Worker 
814*ab8db090SAndroid Build Coastguard Worker /* Add PyOS_snprintf for old Pythons */
815*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02020000
816*ab8db090SAndroid Build Coastguard Worker # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
817*ab8db090SAndroid Build Coastguard Worker #  define PyOS_snprintf _snprintf
818*ab8db090SAndroid Build Coastguard Worker # else
819*ab8db090SAndroid Build Coastguard Worker #  define PyOS_snprintf snprintf
820*ab8db090SAndroid Build Coastguard Worker # endif
821*ab8db090SAndroid Build Coastguard Worker #endif
822*ab8db090SAndroid Build Coastguard Worker 
823*ab8db090SAndroid Build Coastguard Worker /* A crude PyString_FromFormat implementation for old Pythons */
824*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02020000
825*ab8db090SAndroid Build Coastguard Worker 
826*ab8db090SAndroid Build Coastguard Worker #ifndef SWIG_PYBUFFER_SIZE
827*ab8db090SAndroid Build Coastguard Worker # define SWIG_PYBUFFER_SIZE 1024
828*ab8db090SAndroid Build Coastguard Worker #endif
829*ab8db090SAndroid Build Coastguard Worker 
830*ab8db090SAndroid Build Coastguard Worker static PyObject *
PyString_FromFormat(const char * fmt,...)831*ab8db090SAndroid Build Coastguard Worker PyString_FromFormat(const char *fmt, ...) {
832*ab8db090SAndroid Build Coastguard Worker   va_list ap;
833*ab8db090SAndroid Build Coastguard Worker   char buf[SWIG_PYBUFFER_SIZE * 2];
834*ab8db090SAndroid Build Coastguard Worker   int res;
835*ab8db090SAndroid Build Coastguard Worker   va_start(ap, fmt);
836*ab8db090SAndroid Build Coastguard Worker   res = vsnprintf(buf, sizeof(buf), fmt, ap);
837*ab8db090SAndroid Build Coastguard Worker   va_end(ap);
838*ab8db090SAndroid Build Coastguard Worker   return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
839*ab8db090SAndroid Build Coastguard Worker }
840*ab8db090SAndroid Build Coastguard Worker #endif
841*ab8db090SAndroid Build Coastguard Worker 
842*ab8db090SAndroid Build Coastguard Worker /* Add PyObject_Del for old Pythons */
843*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x01060000
844*ab8db090SAndroid Build Coastguard Worker # define PyObject_Del(op) PyMem_DEL((op))
845*ab8db090SAndroid Build Coastguard Worker #endif
846*ab8db090SAndroid Build Coastguard Worker #ifndef PyObject_DEL
847*ab8db090SAndroid Build Coastguard Worker # define PyObject_DEL PyObject_Del
848*ab8db090SAndroid Build Coastguard Worker #endif
849*ab8db090SAndroid Build Coastguard Worker 
850*ab8db090SAndroid Build Coastguard Worker /* A crude PyExc_StopIteration exception for old Pythons */
851*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02020000
852*ab8db090SAndroid Build Coastguard Worker # ifndef PyExc_StopIteration
853*ab8db090SAndroid Build Coastguard Worker #  define PyExc_StopIteration PyExc_RuntimeError
854*ab8db090SAndroid Build Coastguard Worker # endif
855*ab8db090SAndroid Build Coastguard Worker # ifndef PyObject_GenericGetAttr
856*ab8db090SAndroid Build Coastguard Worker #  define PyObject_GenericGetAttr 0
857*ab8db090SAndroid Build Coastguard Worker # endif
858*ab8db090SAndroid Build Coastguard Worker #endif
859*ab8db090SAndroid Build Coastguard Worker 
860*ab8db090SAndroid Build Coastguard Worker /* Py_NotImplemented is defined in 2.1 and up. */
861*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02010000
862*ab8db090SAndroid Build Coastguard Worker # ifndef Py_NotImplemented
863*ab8db090SAndroid Build Coastguard Worker #  define Py_NotImplemented PyExc_RuntimeError
864*ab8db090SAndroid Build Coastguard Worker # endif
865*ab8db090SAndroid Build Coastguard Worker #endif
866*ab8db090SAndroid Build Coastguard Worker 
867*ab8db090SAndroid Build Coastguard Worker /* A crude PyString_AsStringAndSize implementation for old Pythons */
868*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02010000
869*ab8db090SAndroid Build Coastguard Worker # ifndef PyString_AsStringAndSize
870*ab8db090SAndroid Build Coastguard Worker #  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
871*ab8db090SAndroid Build Coastguard Worker # endif
872*ab8db090SAndroid Build Coastguard Worker #endif
873*ab8db090SAndroid Build Coastguard Worker 
874*ab8db090SAndroid Build Coastguard Worker /* PySequence_Size for old Pythons */
875*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02000000
876*ab8db090SAndroid Build Coastguard Worker # ifndef PySequence_Size
877*ab8db090SAndroid Build Coastguard Worker #  define PySequence_Size PySequence_Length
878*ab8db090SAndroid Build Coastguard Worker # endif
879*ab8db090SAndroid Build Coastguard Worker #endif
880*ab8db090SAndroid Build Coastguard Worker 
881*ab8db090SAndroid Build Coastguard Worker /* PyBool_FromLong for old Pythons */
882*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02030000
883*ab8db090SAndroid Build Coastguard Worker static
PyBool_FromLong(long ok)884*ab8db090SAndroid Build Coastguard Worker PyObject *PyBool_FromLong(long ok)
885*ab8db090SAndroid Build Coastguard Worker {
886*ab8db090SAndroid Build Coastguard Worker   PyObject *result = ok ? Py_True : Py_False;
887*ab8db090SAndroid Build Coastguard Worker   Py_INCREF(result);
888*ab8db090SAndroid Build Coastguard Worker   return result;
889*ab8db090SAndroid Build Coastguard Worker }
890*ab8db090SAndroid Build Coastguard Worker #endif
891*ab8db090SAndroid Build Coastguard Worker 
892*ab8db090SAndroid Build Coastguard Worker /* Py_ssize_t for old Pythons */
893*ab8db090SAndroid Build Coastguard Worker /* This code is as recommended by: */
894*ab8db090SAndroid Build Coastguard Worker /* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
895*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
896*ab8db090SAndroid Build Coastguard Worker typedef int Py_ssize_t;
897*ab8db090SAndroid Build Coastguard Worker # define PY_SSIZE_T_MAX INT_MAX
898*ab8db090SAndroid Build Coastguard Worker # define PY_SSIZE_T_MIN INT_MIN
899*ab8db090SAndroid Build Coastguard Worker #endif
900*ab8db090SAndroid Build Coastguard Worker 
901*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
902*ab8db090SAndroid Build Coastguard Worker  * error manipulation
903*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
904*ab8db090SAndroid Build Coastguard Worker 
905*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject*
SWIG_Python_ErrorType(int code)906*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ErrorType(int code) {
907*ab8db090SAndroid Build Coastguard Worker   PyObject* type = 0;
908*ab8db090SAndroid Build Coastguard Worker   switch(code) {
909*ab8db090SAndroid Build Coastguard Worker   case SWIG_MemoryError:
910*ab8db090SAndroid Build Coastguard Worker     type = PyExc_MemoryError;
911*ab8db090SAndroid Build Coastguard Worker     break;
912*ab8db090SAndroid Build Coastguard Worker   case SWIG_IOError:
913*ab8db090SAndroid Build Coastguard Worker     type = PyExc_IOError;
914*ab8db090SAndroid Build Coastguard Worker     break;
915*ab8db090SAndroid Build Coastguard Worker   case SWIG_RuntimeError:
916*ab8db090SAndroid Build Coastguard Worker     type = PyExc_RuntimeError;
917*ab8db090SAndroid Build Coastguard Worker     break;
918*ab8db090SAndroid Build Coastguard Worker   case SWIG_IndexError:
919*ab8db090SAndroid Build Coastguard Worker     type = PyExc_IndexError;
920*ab8db090SAndroid Build Coastguard Worker     break;
921*ab8db090SAndroid Build Coastguard Worker   case SWIG_TypeError:
922*ab8db090SAndroid Build Coastguard Worker     type = PyExc_TypeError;
923*ab8db090SAndroid Build Coastguard Worker     break;
924*ab8db090SAndroid Build Coastguard Worker   case SWIG_DivisionByZero:
925*ab8db090SAndroid Build Coastguard Worker     type = PyExc_ZeroDivisionError;
926*ab8db090SAndroid Build Coastguard Worker     break;
927*ab8db090SAndroid Build Coastguard Worker   case SWIG_OverflowError:
928*ab8db090SAndroid Build Coastguard Worker     type = PyExc_OverflowError;
929*ab8db090SAndroid Build Coastguard Worker     break;
930*ab8db090SAndroid Build Coastguard Worker   case SWIG_SyntaxError:
931*ab8db090SAndroid Build Coastguard Worker     type = PyExc_SyntaxError;
932*ab8db090SAndroid Build Coastguard Worker     break;
933*ab8db090SAndroid Build Coastguard Worker   case SWIG_ValueError:
934*ab8db090SAndroid Build Coastguard Worker     type = PyExc_ValueError;
935*ab8db090SAndroid Build Coastguard Worker     break;
936*ab8db090SAndroid Build Coastguard Worker   case SWIG_SystemError:
937*ab8db090SAndroid Build Coastguard Worker     type = PyExc_SystemError;
938*ab8db090SAndroid Build Coastguard Worker     break;
939*ab8db090SAndroid Build Coastguard Worker   case SWIG_AttributeError:
940*ab8db090SAndroid Build Coastguard Worker     type = PyExc_AttributeError;
941*ab8db090SAndroid Build Coastguard Worker     break;
942*ab8db090SAndroid Build Coastguard Worker   default:
943*ab8db090SAndroid Build Coastguard Worker     type = PyExc_RuntimeError;
944*ab8db090SAndroid Build Coastguard Worker   }
945*ab8db090SAndroid Build Coastguard Worker   return type;
946*ab8db090SAndroid Build Coastguard Worker }
947*ab8db090SAndroid Build Coastguard Worker 
948*ab8db090SAndroid Build Coastguard Worker 
949*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Python_AddErrorMsg(const char * mesg)950*ab8db090SAndroid Build Coastguard Worker SWIG_Python_AddErrorMsg(const char* mesg)
951*ab8db090SAndroid Build Coastguard Worker {
952*ab8db090SAndroid Build Coastguard Worker   PyObject *type = 0;
953*ab8db090SAndroid Build Coastguard Worker   PyObject *value = 0;
954*ab8db090SAndroid Build Coastguard Worker   PyObject *traceback = 0;
955*ab8db090SAndroid Build Coastguard Worker 
956*ab8db090SAndroid Build Coastguard Worker   if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
957*ab8db090SAndroid Build Coastguard Worker   if (value) {
958*ab8db090SAndroid Build Coastguard Worker     char *tmp;
959*ab8db090SAndroid Build Coastguard Worker     PyObject *old_str = PyObject_Str(value);
960*ab8db090SAndroid Build Coastguard Worker     PyErr_Clear();
961*ab8db090SAndroid Build Coastguard Worker     Py_XINCREF(type);
962*ab8db090SAndroid Build Coastguard Worker 
963*ab8db090SAndroid Build Coastguard Worker     PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
964*ab8db090SAndroid Build Coastguard Worker     SWIG_Python_str_DelForPy3(tmp);
965*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(old_str);
966*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(value);
967*ab8db090SAndroid Build Coastguard Worker   } else {
968*ab8db090SAndroid Build Coastguard Worker     PyErr_SetString(PyExc_RuntimeError, mesg);
969*ab8db090SAndroid Build Coastguard Worker   }
970*ab8db090SAndroid Build Coastguard Worker }
971*ab8db090SAndroid Build Coastguard Worker 
972*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_PYTHON_NO_THREADS)
973*ab8db090SAndroid Build Coastguard Worker #  if defined(SWIG_PYTHON_THREADS)
974*ab8db090SAndroid Build Coastguard Worker #    undef SWIG_PYTHON_THREADS
975*ab8db090SAndroid Build Coastguard Worker #  endif
976*ab8db090SAndroid Build Coastguard Worker #endif
977*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
978*ab8db090SAndroid Build Coastguard Worker #  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
979*ab8db090SAndroid Build Coastguard Worker #    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
980*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_USE_GIL
981*ab8db090SAndroid Build Coastguard Worker #    endif
982*ab8db090SAndroid Build Coastguard Worker #  endif
983*ab8db090SAndroid Build Coastguard Worker #  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
984*ab8db090SAndroid Build Coastguard Worker #    ifndef SWIG_PYTHON_INITIALIZE_THREADS
985*ab8db090SAndroid Build Coastguard Worker #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()
986*ab8db090SAndroid Build Coastguard Worker #    endif
987*ab8db090SAndroid Build Coastguard Worker #    ifdef __cplusplus /* C++ code */
988*ab8db090SAndroid Build Coastguard Worker        class SWIG_Python_Thread_Block {
989*ab8db090SAndroid Build Coastguard Worker          bool status;
990*ab8db090SAndroid Build Coastguard Worker          PyGILState_STATE state;
991*ab8db090SAndroid Build Coastguard Worker        public:
end()992*ab8db090SAndroid Build Coastguard Worker          void end() { if (status) { PyGILState_Release(state); status = false;} }
SWIG_Python_Thread_Block()993*ab8db090SAndroid Build Coastguard Worker          SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
~SWIG_Python_Thread_Block()994*ab8db090SAndroid Build Coastguard Worker          ~SWIG_Python_Thread_Block() { end(); }
995*ab8db090SAndroid Build Coastguard Worker        };
996*ab8db090SAndroid Build Coastguard Worker        class SWIG_Python_Thread_Allow {
997*ab8db090SAndroid Build Coastguard Worker          bool status;
998*ab8db090SAndroid Build Coastguard Worker          PyThreadState *save;
999*ab8db090SAndroid Build Coastguard Worker        public:
end()1000*ab8db090SAndroid Build Coastguard Worker          void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
SWIG_Python_Thread_Allow()1001*ab8db090SAndroid Build Coastguard Worker          SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
~SWIG_Python_Thread_Allow()1002*ab8db090SAndroid Build Coastguard Worker          ~SWIG_Python_Thread_Allow() { end(); }
1003*ab8db090SAndroid Build Coastguard Worker        };
1004*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   SWIG_Python_Thread_Block _swig_thread_block
1005*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_BLOCK     _swig_thread_block.end()
1006*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   SWIG_Python_Thread_Allow _swig_thread_allow
1007*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_ALLOW     _swig_thread_allow.end()
1008*ab8db090SAndroid Build Coastguard Worker #    else /* C code */
1009*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1010*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_BLOCK     PyGILState_Release(_swig_thread_block)
1011*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1012*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_ALLOW     PyEval_RestoreThread(_swig_thread_allow)
1013*ab8db090SAndroid Build Coastguard Worker #    endif
1014*ab8db090SAndroid Build Coastguard Worker #  else /* Old thread way, not implemented, user must provide it */
1015*ab8db090SAndroid Build Coastguard Worker #    if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
1016*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_INITIALIZE_THREADS
1017*ab8db090SAndroid Build Coastguard Worker #    endif
1018*ab8db090SAndroid Build Coastguard Worker #    if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
1019*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1020*ab8db090SAndroid Build Coastguard Worker #    endif
1021*ab8db090SAndroid Build Coastguard Worker #    if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
1022*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_BLOCK
1023*ab8db090SAndroid Build Coastguard Worker #    endif
1024*ab8db090SAndroid Build Coastguard Worker #    if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
1025*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1026*ab8db090SAndroid Build Coastguard Worker #    endif
1027*ab8db090SAndroid Build Coastguard Worker #    if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
1028*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_THREAD_END_ALLOW
1029*ab8db090SAndroid Build Coastguard Worker #    endif
1030*ab8db090SAndroid Build Coastguard Worker #  endif
1031*ab8db090SAndroid Build Coastguard Worker #else /* No thread support */
1032*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PYTHON_INITIALIZE_THREADS
1033*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1034*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PYTHON_THREAD_END_BLOCK
1035*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1036*ab8db090SAndroid Build Coastguard Worker #  define SWIG_PYTHON_THREAD_END_ALLOW
1037*ab8db090SAndroid Build Coastguard Worker #endif
1038*ab8db090SAndroid Build Coastguard Worker 
1039*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1040*ab8db090SAndroid Build Coastguard Worker  * Python API portion that goes into the runtime
1041*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
1042*ab8db090SAndroid Build Coastguard Worker 
1043*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1044*ab8db090SAndroid Build Coastguard Worker extern "C" {
1045*ab8db090SAndroid Build Coastguard Worker #if 0
1046*ab8db090SAndroid Build Coastguard Worker } /* cc-mode */
1047*ab8db090SAndroid Build Coastguard Worker #endif
1048*ab8db090SAndroid Build Coastguard Worker #endif
1049*ab8db090SAndroid Build Coastguard Worker 
1050*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1051*ab8db090SAndroid Build Coastguard Worker  * Constant declarations
1052*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
1053*ab8db090SAndroid Build Coastguard Worker 
1054*ab8db090SAndroid Build Coastguard Worker /* Constant Types */
1055*ab8db090SAndroid Build Coastguard Worker #define SWIG_PY_POINTER 4
1056*ab8db090SAndroid Build Coastguard Worker #define SWIG_PY_BINARY  5
1057*ab8db090SAndroid Build Coastguard Worker 
1058*ab8db090SAndroid Build Coastguard Worker /* Constant information structure */
1059*ab8db090SAndroid Build Coastguard Worker typedef struct swig_const_info {
1060*ab8db090SAndroid Build Coastguard Worker   int type;
1061*ab8db090SAndroid Build Coastguard Worker   char *name;
1062*ab8db090SAndroid Build Coastguard Worker   long lvalue;
1063*ab8db090SAndroid Build Coastguard Worker   double dvalue;
1064*ab8db090SAndroid Build Coastguard Worker   void   *pvalue;
1065*ab8db090SAndroid Build Coastguard Worker   swig_type_info **ptype;
1066*ab8db090SAndroid Build Coastguard Worker } swig_const_info;
1067*ab8db090SAndroid Build Coastguard Worker 
1068*ab8db090SAndroid Build Coastguard Worker 
1069*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1070*ab8db090SAndroid Build Coastguard Worker  * Wrapper of PyInstanceMethod_New() used in Python 3
1071*ab8db090SAndroid Build Coastguard Worker  * It is exported to the generated module, used for -fastproxy
1072*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
SWIG_PyInstanceMethod_New(PyObject * self,PyObject * func)1073*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *self, PyObject *func)
1074*ab8db090SAndroid Build Coastguard Worker {
1075*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
1076*ab8db090SAndroid Build Coastguard Worker   return PyInstanceMethod_New(func);
1077*ab8db090SAndroid Build Coastguard Worker #else
1078*ab8db090SAndroid Build Coastguard Worker   return NULL;
1079*ab8db090SAndroid Build Coastguard Worker #endif
1080*ab8db090SAndroid Build Coastguard Worker }
1081*ab8db090SAndroid Build Coastguard Worker 
1082*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1083*ab8db090SAndroid Build Coastguard Worker #if 0
1084*ab8db090SAndroid Build Coastguard Worker { /* cc-mode */
1085*ab8db090SAndroid Build Coastguard Worker #endif
1086*ab8db090SAndroid Build Coastguard Worker }
1087*ab8db090SAndroid Build Coastguard Worker #endif
1088*ab8db090SAndroid Build Coastguard Worker 
1089*ab8db090SAndroid Build Coastguard Worker 
1090*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1091*ab8db090SAndroid Build Coastguard Worker  * See the LICENSE file for information on copyright, usage and redistribution
1092*ab8db090SAndroid Build Coastguard Worker  * of SWIG, and the README file for authors - http://www.swig.org/release.html.
1093*ab8db090SAndroid Build Coastguard Worker  *
1094*ab8db090SAndroid Build Coastguard Worker  * pyrun.swg
1095*ab8db090SAndroid Build Coastguard Worker  *
1096*ab8db090SAndroid Build Coastguard Worker  * This file contains the runtime support for Python modules
1097*ab8db090SAndroid Build Coastguard Worker  * and includes code for managing global variables and pointer
1098*ab8db090SAndroid Build Coastguard Worker  * type checking.
1099*ab8db090SAndroid Build Coastguard Worker  *
1100*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
1101*ab8db090SAndroid Build Coastguard Worker 
1102*ab8db090SAndroid Build Coastguard Worker /* Common SWIG API */
1103*ab8db090SAndroid Build Coastguard Worker 
1104*ab8db090SAndroid Build Coastguard Worker /* for raw pointers */
1105*ab8db090SAndroid Build Coastguard Worker #define SWIG_Python_ConvertPtr(obj, pptr, type, flags)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1106*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPtr(obj, pptr, type, flags)         SWIG_Python_ConvertPtr(obj, pptr, type, flags)
1107*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1108*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewPointerObj(ptr, type, flags)            SWIG_Python_NewPointerObj(ptr, type, flags)
1109*ab8db090SAndroid Build Coastguard Worker #define SWIG_CheckImplicit(ty)                          SWIG_Python_CheckImplicit(ty)
1110*ab8db090SAndroid Build Coastguard Worker #define SWIG_AcquirePtr(ptr, src)                       SWIG_Python_AcquirePtr(ptr, src)
1111*ab8db090SAndroid Build Coastguard Worker #define swig_owntype                                    int
1112*ab8db090SAndroid Build Coastguard Worker 
1113*ab8db090SAndroid Build Coastguard Worker /* for raw packed data */
1114*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertPacked(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1115*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewPackedObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
1116*ab8db090SAndroid Build Coastguard Worker 
1117*ab8db090SAndroid Build Coastguard Worker /* for class or struct pointers */
1118*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
1119*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
1120*ab8db090SAndroid Build Coastguard Worker 
1121*ab8db090SAndroid Build Coastguard Worker /* for C or C++ function pointers */
1122*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1123*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_Python_NewPointerObj(ptr, type, 0)
1124*ab8db090SAndroid Build Coastguard Worker 
1125*ab8db090SAndroid Build Coastguard Worker /* for C++ member pointers, ie, member methods */
1126*ab8db090SAndroid Build Coastguard Worker #define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1127*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewMemberObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
1128*ab8db090SAndroid Build Coastguard Worker 
1129*ab8db090SAndroid Build Coastguard Worker 
1130*ab8db090SAndroid Build Coastguard Worker /* Runtime API */
1131*ab8db090SAndroid Build Coastguard Worker 
1132*ab8db090SAndroid Build Coastguard Worker #define SWIG_GetModule(clientdata)                      SWIG_Python_GetModule()
1133*ab8db090SAndroid Build Coastguard Worker #define SWIG_SetModule(clientdata, pointer)             SWIG_Python_SetModule(pointer)
1134*ab8db090SAndroid Build Coastguard Worker #define SWIG_NewClientData(obj)                         SwigPyClientData_New(obj)
1135*ab8db090SAndroid Build Coastguard Worker 
1136*ab8db090SAndroid Build Coastguard Worker #define SWIG_SetErrorObj                                SWIG_Python_SetErrorObj
1137*ab8db090SAndroid Build Coastguard Worker #define SWIG_SetErrorMsg                        	SWIG_Python_SetErrorMsg
1138*ab8db090SAndroid Build Coastguard Worker #define SWIG_ErrorType(code)                    	SWIG_Python_ErrorType(code)
1139*ab8db090SAndroid Build Coastguard Worker #define SWIG_Error(code, msg)            		SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1140*ab8db090SAndroid Build Coastguard Worker #define SWIG_fail                        		goto fail
1141*ab8db090SAndroid Build Coastguard Worker 
1142*ab8db090SAndroid Build Coastguard Worker 
1143*ab8db090SAndroid Build Coastguard Worker /* Runtime API implementation */
1144*ab8db090SAndroid Build Coastguard Worker 
1145*ab8db090SAndroid Build Coastguard Worker /* Error manipulation */
1146*ab8db090SAndroid Build Coastguard Worker 
1147*ab8db090SAndroid Build Coastguard Worker SWIGINTERN void
SWIG_Python_SetErrorObj(PyObject * errtype,PyObject * obj)1148*ab8db090SAndroid Build Coastguard Worker SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1149*ab8db090SAndroid Build Coastguard Worker   SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1150*ab8db090SAndroid Build Coastguard Worker   PyErr_SetObject(errtype, obj);
1151*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(obj);
1152*ab8db090SAndroid Build Coastguard Worker   SWIG_PYTHON_THREAD_END_BLOCK;
1153*ab8db090SAndroid Build Coastguard Worker }
1154*ab8db090SAndroid Build Coastguard Worker 
1155*ab8db090SAndroid Build Coastguard Worker SWIGINTERN void
SWIG_Python_SetErrorMsg(PyObject * errtype,const char * msg)1156*ab8db090SAndroid Build Coastguard Worker SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1157*ab8db090SAndroid Build Coastguard Worker   SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1158*ab8db090SAndroid Build Coastguard Worker   PyErr_SetString(errtype, (char *) msg);
1159*ab8db090SAndroid Build Coastguard Worker   SWIG_PYTHON_THREAD_END_BLOCK;
1160*ab8db090SAndroid Build Coastguard Worker }
1161*ab8db090SAndroid Build Coastguard Worker 
1162*ab8db090SAndroid Build Coastguard Worker #define SWIG_Python_Raise(obj, type, desc)  SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1163*ab8db090SAndroid Build Coastguard Worker 
1164*ab8db090SAndroid Build Coastguard Worker /* Set a constant value */
1165*ab8db090SAndroid Build Coastguard Worker 
1166*ab8db090SAndroid Build Coastguard Worker SWIGINTERN void
SWIG_Python_SetConstant(PyObject * d,const char * name,PyObject * obj)1167*ab8db090SAndroid Build Coastguard Worker SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1168*ab8db090SAndroid Build Coastguard Worker   PyDict_SetItemString(d, (char*) name, obj);
1169*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(obj);
1170*ab8db090SAndroid Build Coastguard Worker }
1171*ab8db090SAndroid Build Coastguard Worker 
1172*ab8db090SAndroid Build Coastguard Worker /* Append a value to the result obj */
1173*ab8db090SAndroid Build Coastguard Worker 
1174*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject*
SWIG_Python_AppendOutput(PyObject * result,PyObject * obj)1175*ab8db090SAndroid Build Coastguard Worker SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1176*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
1177*ab8db090SAndroid Build Coastguard Worker   if (!result) {
1178*ab8db090SAndroid Build Coastguard Worker     result = obj;
1179*ab8db090SAndroid Build Coastguard Worker   } else if (result == Py_None) {
1180*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(result);
1181*ab8db090SAndroid Build Coastguard Worker     result = obj;
1182*ab8db090SAndroid Build Coastguard Worker   } else {
1183*ab8db090SAndroid Build Coastguard Worker     if (!PyList_Check(result)) {
1184*ab8db090SAndroid Build Coastguard Worker       PyObject *o2 = result;
1185*ab8db090SAndroid Build Coastguard Worker       result = PyList_New(1);
1186*ab8db090SAndroid Build Coastguard Worker       PyList_SetItem(result, 0, o2);
1187*ab8db090SAndroid Build Coastguard Worker     }
1188*ab8db090SAndroid Build Coastguard Worker     PyList_Append(result,obj);
1189*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(obj);
1190*ab8db090SAndroid Build Coastguard Worker   }
1191*ab8db090SAndroid Build Coastguard Worker   return result;
1192*ab8db090SAndroid Build Coastguard Worker #else
1193*ab8db090SAndroid Build Coastguard Worker   PyObject*   o2;
1194*ab8db090SAndroid Build Coastguard Worker   PyObject*   o3;
1195*ab8db090SAndroid Build Coastguard Worker   if (!result) {
1196*ab8db090SAndroid Build Coastguard Worker     result = obj;
1197*ab8db090SAndroid Build Coastguard Worker   } else if (result == Py_None) {
1198*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(result);
1199*ab8db090SAndroid Build Coastguard Worker     result = obj;
1200*ab8db090SAndroid Build Coastguard Worker   } else {
1201*ab8db090SAndroid Build Coastguard Worker     if (!PyTuple_Check(result)) {
1202*ab8db090SAndroid Build Coastguard Worker       o2 = result;
1203*ab8db090SAndroid Build Coastguard Worker       result = PyTuple_New(1);
1204*ab8db090SAndroid Build Coastguard Worker       PyTuple_SET_ITEM(result, 0, o2);
1205*ab8db090SAndroid Build Coastguard Worker     }
1206*ab8db090SAndroid Build Coastguard Worker     o3 = PyTuple_New(1);
1207*ab8db090SAndroid Build Coastguard Worker     PyTuple_SET_ITEM(o3, 0, obj);
1208*ab8db090SAndroid Build Coastguard Worker     o2 = result;
1209*ab8db090SAndroid Build Coastguard Worker     result = PySequence_Concat(o2, o3);
1210*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(o2);
1211*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(o3);
1212*ab8db090SAndroid Build Coastguard Worker   }
1213*ab8db090SAndroid Build Coastguard Worker   return result;
1214*ab8db090SAndroid Build Coastguard Worker #endif
1215*ab8db090SAndroid Build Coastguard Worker }
1216*ab8db090SAndroid Build Coastguard Worker 
1217*ab8db090SAndroid Build Coastguard Worker /* Unpack the argument tuple */
1218*ab8db090SAndroid Build Coastguard Worker 
1219*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_Python_UnpackTuple(PyObject * args,const char * name,Py_ssize_t min,Py_ssize_t max,PyObject ** objs)1220*ab8db090SAndroid Build Coastguard Worker SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1221*ab8db090SAndroid Build Coastguard Worker {
1222*ab8db090SAndroid Build Coastguard Worker   if (!args) {
1223*ab8db090SAndroid Build Coastguard Worker     if (!min && !max) {
1224*ab8db090SAndroid Build Coastguard Worker       return 1;
1225*ab8db090SAndroid Build Coastguard Worker     } else {
1226*ab8db090SAndroid Build Coastguard Worker       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1227*ab8db090SAndroid Build Coastguard Worker 		   name, (min == max ? "" : "at least "), (int)min);
1228*ab8db090SAndroid Build Coastguard Worker       return 0;
1229*ab8db090SAndroid Build Coastguard Worker     }
1230*ab8db090SAndroid Build Coastguard Worker   }
1231*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) {
1232*ab8db090SAndroid Build Coastguard Worker     PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1233*ab8db090SAndroid Build Coastguard Worker     return 0;
1234*ab8db090SAndroid Build Coastguard Worker   } else {
1235*ab8db090SAndroid Build Coastguard Worker     register Py_ssize_t l = PyTuple_GET_SIZE(args);
1236*ab8db090SAndroid Build Coastguard Worker     if (l < min) {
1237*ab8db090SAndroid Build Coastguard Worker       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1238*ab8db090SAndroid Build Coastguard Worker 		   name, (min == max ? "" : "at least "), (int)min, (int)l);
1239*ab8db090SAndroid Build Coastguard Worker       return 0;
1240*ab8db090SAndroid Build Coastguard Worker     } else if (l > max) {
1241*ab8db090SAndroid Build Coastguard Worker       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1242*ab8db090SAndroid Build Coastguard Worker 		   name, (min == max ? "" : "at most "), (int)max, (int)l);
1243*ab8db090SAndroid Build Coastguard Worker       return 0;
1244*ab8db090SAndroid Build Coastguard Worker     } else {
1245*ab8db090SAndroid Build Coastguard Worker       register int i;
1246*ab8db090SAndroid Build Coastguard Worker       for (i = 0; i < l; ++i) {
1247*ab8db090SAndroid Build Coastguard Worker 	objs[i] = PyTuple_GET_ITEM(args, i);
1248*ab8db090SAndroid Build Coastguard Worker       }
1249*ab8db090SAndroid Build Coastguard Worker       for (; l < max; ++l) {
1250*ab8db090SAndroid Build Coastguard Worker 	objs[l] = 0;
1251*ab8db090SAndroid Build Coastguard Worker       }
1252*ab8db090SAndroid Build Coastguard Worker       return i + 1;
1253*ab8db090SAndroid Build Coastguard Worker     }
1254*ab8db090SAndroid Build Coastguard Worker   }
1255*ab8db090SAndroid Build Coastguard Worker }
1256*ab8db090SAndroid Build Coastguard Worker 
1257*ab8db090SAndroid Build Coastguard Worker /* A functor is a function object with one single object argument */
1258*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02020000
1259*ab8db090SAndroid Build Coastguard Worker #define SWIG_Python_CallFunctor(functor, obj)	        PyObject_CallFunctionObjArgs(functor, obj, NULL);
1260*ab8db090SAndroid Build Coastguard Worker #else
1261*ab8db090SAndroid Build Coastguard Worker #define SWIG_Python_CallFunctor(functor, obj)	        PyObject_CallFunction(functor, "O", obj);
1262*ab8db090SAndroid Build Coastguard Worker #endif
1263*ab8db090SAndroid Build Coastguard Worker 
1264*ab8db090SAndroid Build Coastguard Worker /*
1265*ab8db090SAndroid Build Coastguard Worker   Helper for static pointer initialization for both C and C++ code, for example
1266*ab8db090SAndroid Build Coastguard Worker   static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1267*ab8db090SAndroid Build Coastguard Worker */
1268*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1269*ab8db090SAndroid Build Coastguard Worker #define SWIG_STATIC_POINTER(var)  var
1270*ab8db090SAndroid Build Coastguard Worker #else
1271*ab8db090SAndroid Build Coastguard Worker #define SWIG_STATIC_POINTER(var)  var = 0; if (!var) var
1272*ab8db090SAndroid Build Coastguard Worker #endif
1273*ab8db090SAndroid Build Coastguard Worker 
1274*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1275*ab8db090SAndroid Build Coastguard Worker  * Pointer declarations
1276*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
1277*ab8db090SAndroid Build Coastguard Worker 
1278*ab8db090SAndroid Build Coastguard Worker /* Flags for new pointer objects */
1279*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_NOSHADOW       (SWIG_POINTER_OWN      << 1)
1280*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_NEW            (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1281*ab8db090SAndroid Build Coastguard Worker 
1282*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_IMPLICIT_CONV  (SWIG_POINTER_DISOWN   << 1)
1283*ab8db090SAndroid Build Coastguard Worker 
1284*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
1285*ab8db090SAndroid Build Coastguard Worker extern "C" {
1286*ab8db090SAndroid Build Coastguard Worker #if 0
1287*ab8db090SAndroid Build Coastguard Worker } /* cc-mode */
1288*ab8db090SAndroid Build Coastguard Worker #endif
1289*ab8db090SAndroid Build Coastguard Worker #endif
1290*ab8db090SAndroid Build Coastguard Worker 
1291*ab8db090SAndroid Build Coastguard Worker /*  How to access Py_None */
1292*ab8db090SAndroid Build Coastguard Worker #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
1293*ab8db090SAndroid Build Coastguard Worker #  ifndef SWIG_PYTHON_NO_BUILD_NONE
1294*ab8db090SAndroid Build Coastguard Worker #    ifndef SWIG_PYTHON_BUILD_NONE
1295*ab8db090SAndroid Build Coastguard Worker #      define SWIG_PYTHON_BUILD_NONE
1296*ab8db090SAndroid Build Coastguard Worker #    endif
1297*ab8db090SAndroid Build Coastguard Worker #  endif
1298*ab8db090SAndroid Build Coastguard Worker #endif
1299*ab8db090SAndroid Build Coastguard Worker 
1300*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_PYTHON_BUILD_NONE
1301*ab8db090SAndroid Build Coastguard Worker #  ifdef Py_None
1302*ab8db090SAndroid Build Coastguard Worker #   undef Py_None
1303*ab8db090SAndroid Build Coastguard Worker #   define Py_None SWIG_Py_None()
1304*ab8db090SAndroid Build Coastguard Worker #  endif
1305*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE PyObject *
_SWIG_Py_None(void)1306*ab8db090SAndroid Build Coastguard Worker _SWIG_Py_None(void)
1307*ab8db090SAndroid Build Coastguard Worker {
1308*ab8db090SAndroid Build Coastguard Worker   PyObject *none = Py_BuildValue((char*)"");
1309*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(none);
1310*ab8db090SAndroid Build Coastguard Worker   return none;
1311*ab8db090SAndroid Build Coastguard Worker }
1312*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SWIG_Py_None(void)1313*ab8db090SAndroid Build Coastguard Worker SWIG_Py_None(void)
1314*ab8db090SAndroid Build Coastguard Worker {
1315*ab8db090SAndroid Build Coastguard Worker   static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
1316*ab8db090SAndroid Build Coastguard Worker   return none;
1317*ab8db090SAndroid Build Coastguard Worker }
1318*ab8db090SAndroid Build Coastguard Worker #endif
1319*ab8db090SAndroid Build Coastguard Worker 
1320*ab8db090SAndroid Build Coastguard Worker /* The python void return value */
1321*ab8db090SAndroid Build Coastguard Worker 
1322*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE PyObject *
SWIG_Py_Void(void)1323*ab8db090SAndroid Build Coastguard Worker SWIG_Py_Void(void)
1324*ab8db090SAndroid Build Coastguard Worker {
1325*ab8db090SAndroid Build Coastguard Worker   PyObject *none = Py_None;
1326*ab8db090SAndroid Build Coastguard Worker   Py_INCREF(none);
1327*ab8db090SAndroid Build Coastguard Worker   return none;
1328*ab8db090SAndroid Build Coastguard Worker }
1329*ab8db090SAndroid Build Coastguard Worker 
1330*ab8db090SAndroid Build Coastguard Worker /* SwigPyClientData */
1331*ab8db090SAndroid Build Coastguard Worker 
1332*ab8db090SAndroid Build Coastguard Worker typedef struct {
1333*ab8db090SAndroid Build Coastguard Worker   PyObject *klass;
1334*ab8db090SAndroid Build Coastguard Worker   PyObject *newraw;
1335*ab8db090SAndroid Build Coastguard Worker   PyObject *newargs;
1336*ab8db090SAndroid Build Coastguard Worker   PyObject *destroy;
1337*ab8db090SAndroid Build Coastguard Worker   int delargs;
1338*ab8db090SAndroid Build Coastguard Worker   int implicitconv;
1339*ab8db090SAndroid Build Coastguard Worker } SwigPyClientData;
1340*ab8db090SAndroid Build Coastguard Worker 
1341*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE int
SWIG_Python_CheckImplicit(swig_type_info * ty)1342*ab8db090SAndroid Build Coastguard Worker SWIG_Python_CheckImplicit(swig_type_info *ty)
1343*ab8db090SAndroid Build Coastguard Worker {
1344*ab8db090SAndroid Build Coastguard Worker   SwigPyClientData *data = (SwigPyClientData *)ty->clientdata;
1345*ab8db090SAndroid Build Coastguard Worker   return data ? data->implicitconv : 0;
1346*ab8db090SAndroid Build Coastguard Worker }
1347*ab8db090SAndroid Build Coastguard Worker 
1348*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE PyObject *
SWIG_Python_ExceptionType(swig_type_info * desc)1349*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ExceptionType(swig_type_info *desc) {
1350*ab8db090SAndroid Build Coastguard Worker   SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
1351*ab8db090SAndroid Build Coastguard Worker   PyObject *klass = data ? data->klass : 0;
1352*ab8db090SAndroid Build Coastguard Worker   return (klass ? klass : PyExc_RuntimeError);
1353*ab8db090SAndroid Build Coastguard Worker }
1354*ab8db090SAndroid Build Coastguard Worker 
1355*ab8db090SAndroid Build Coastguard Worker 
1356*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME SwigPyClientData *
SwigPyClientData_New(PyObject * obj)1357*ab8db090SAndroid Build Coastguard Worker SwigPyClientData_New(PyObject* obj)
1358*ab8db090SAndroid Build Coastguard Worker {
1359*ab8db090SAndroid Build Coastguard Worker   if (!obj) {
1360*ab8db090SAndroid Build Coastguard Worker     return 0;
1361*ab8db090SAndroid Build Coastguard Worker   } else {
1362*ab8db090SAndroid Build Coastguard Worker     SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData));
1363*ab8db090SAndroid Build Coastguard Worker     /* the klass element */
1364*ab8db090SAndroid Build Coastguard Worker     data->klass = obj;
1365*ab8db090SAndroid Build Coastguard Worker     Py_INCREF(data->klass);
1366*ab8db090SAndroid Build Coastguard Worker     /* the newraw method and newargs arguments used to create a new raw instance */
1367*ab8db090SAndroid Build Coastguard Worker     if (PyClass_Check(obj)) {
1368*ab8db090SAndroid Build Coastguard Worker       data->newraw = 0;
1369*ab8db090SAndroid Build Coastguard Worker       data->newargs = obj;
1370*ab8db090SAndroid Build Coastguard Worker       Py_INCREF(obj);
1371*ab8db090SAndroid Build Coastguard Worker     } else {
1372*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX < 0x02020000)
1373*ab8db090SAndroid Build Coastguard Worker       data->newraw = 0;
1374*ab8db090SAndroid Build Coastguard Worker #else
1375*ab8db090SAndroid Build Coastguard Worker       data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
1376*ab8db090SAndroid Build Coastguard Worker #endif
1377*ab8db090SAndroid Build Coastguard Worker       if (data->newraw) {
1378*ab8db090SAndroid Build Coastguard Worker 	Py_INCREF(data->newraw);
1379*ab8db090SAndroid Build Coastguard Worker 	data->newargs = PyTuple_New(1);
1380*ab8db090SAndroid Build Coastguard Worker 	PyTuple_SetItem(data->newargs, 0, obj);
1381*ab8db090SAndroid Build Coastguard Worker       } else {
1382*ab8db090SAndroid Build Coastguard Worker 	data->newargs = obj;
1383*ab8db090SAndroid Build Coastguard Worker       }
1384*ab8db090SAndroid Build Coastguard Worker       Py_INCREF(data->newargs);
1385*ab8db090SAndroid Build Coastguard Worker     }
1386*ab8db090SAndroid Build Coastguard Worker     /* the destroy method, aka as the C++ delete method */
1387*ab8db090SAndroid Build Coastguard Worker     data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
1388*ab8db090SAndroid Build Coastguard Worker     if (PyErr_Occurred()) {
1389*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
1390*ab8db090SAndroid Build Coastguard Worker       data->destroy = 0;
1391*ab8db090SAndroid Build Coastguard Worker     }
1392*ab8db090SAndroid Build Coastguard Worker     if (data->destroy) {
1393*ab8db090SAndroid Build Coastguard Worker       int flags;
1394*ab8db090SAndroid Build Coastguard Worker       Py_INCREF(data->destroy);
1395*ab8db090SAndroid Build Coastguard Worker       flags = PyCFunction_GET_FLAGS(data->destroy);
1396*ab8db090SAndroid Build Coastguard Worker #ifdef METH_O
1397*ab8db090SAndroid Build Coastguard Worker       data->delargs = !(flags & (METH_O));
1398*ab8db090SAndroid Build Coastguard Worker #else
1399*ab8db090SAndroid Build Coastguard Worker       data->delargs = 0;
1400*ab8db090SAndroid Build Coastguard Worker #endif
1401*ab8db090SAndroid Build Coastguard Worker     } else {
1402*ab8db090SAndroid Build Coastguard Worker       data->delargs = 0;
1403*ab8db090SAndroid Build Coastguard Worker     }
1404*ab8db090SAndroid Build Coastguard Worker     data->implicitconv = 0;
1405*ab8db090SAndroid Build Coastguard Worker     return data;
1406*ab8db090SAndroid Build Coastguard Worker   }
1407*ab8db090SAndroid Build Coastguard Worker }
1408*ab8db090SAndroid Build Coastguard Worker 
1409*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SwigPyClientData_Del(SwigPyClientData * data)1410*ab8db090SAndroid Build Coastguard Worker SwigPyClientData_Del(SwigPyClientData* data)
1411*ab8db090SAndroid Build Coastguard Worker {
1412*ab8db090SAndroid Build Coastguard Worker   Py_XDECREF(data->newraw);
1413*ab8db090SAndroid Build Coastguard Worker   Py_XDECREF(data->newargs);
1414*ab8db090SAndroid Build Coastguard Worker   Py_XDECREF(data->destroy);
1415*ab8db090SAndroid Build Coastguard Worker }
1416*ab8db090SAndroid Build Coastguard Worker 
1417*ab8db090SAndroid Build Coastguard Worker /* =============== SwigPyObject =====================*/
1418*ab8db090SAndroid Build Coastguard Worker 
1419*ab8db090SAndroid Build Coastguard Worker typedef struct {
1420*ab8db090SAndroid Build Coastguard Worker   PyObject_HEAD
1421*ab8db090SAndroid Build Coastguard Worker   void *ptr;
1422*ab8db090SAndroid Build Coastguard Worker   swig_type_info *ty;
1423*ab8db090SAndroid Build Coastguard Worker   int own;
1424*ab8db090SAndroid Build Coastguard Worker   PyObject *next;
1425*ab8db090SAndroid Build Coastguard Worker } SwigPyObject;
1426*ab8db090SAndroid Build Coastguard Worker 
1427*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_long(SwigPyObject * v)1428*ab8db090SAndroid Build Coastguard Worker SwigPyObject_long(SwigPyObject *v)
1429*ab8db090SAndroid Build Coastguard Worker {
1430*ab8db090SAndroid Build Coastguard Worker   return PyLong_FromVoidPtr(v->ptr);
1431*ab8db090SAndroid Build Coastguard Worker }
1432*ab8db090SAndroid Build Coastguard Worker 
1433*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_format(const char * fmt,SwigPyObject * v)1434*ab8db090SAndroid Build Coastguard Worker SwigPyObject_format(const char* fmt, SwigPyObject *v)
1435*ab8db090SAndroid Build Coastguard Worker {
1436*ab8db090SAndroid Build Coastguard Worker   PyObject *res = NULL;
1437*ab8db090SAndroid Build Coastguard Worker   PyObject *args = PyTuple_New(1);
1438*ab8db090SAndroid Build Coastguard Worker   if (args) {
1439*ab8db090SAndroid Build Coastguard Worker     if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) {
1440*ab8db090SAndroid Build Coastguard Worker       PyObject *ofmt = SWIG_Python_str_FromChar(fmt);
1441*ab8db090SAndroid Build Coastguard Worker       if (ofmt) {
1442*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
1443*ab8db090SAndroid Build Coastguard Worker 	res = PyUnicode_Format(ofmt,args);
1444*ab8db090SAndroid Build Coastguard Worker #else
1445*ab8db090SAndroid Build Coastguard Worker 	res = PyString_Format(ofmt,args);
1446*ab8db090SAndroid Build Coastguard Worker #endif
1447*ab8db090SAndroid Build Coastguard Worker 	Py_DECREF(ofmt);
1448*ab8db090SAndroid Build Coastguard Worker       }
1449*ab8db090SAndroid Build Coastguard Worker       Py_DECREF(args);
1450*ab8db090SAndroid Build Coastguard Worker     }
1451*ab8db090SAndroid Build Coastguard Worker   }
1452*ab8db090SAndroid Build Coastguard Worker   return res;
1453*ab8db090SAndroid Build Coastguard Worker }
1454*ab8db090SAndroid Build Coastguard Worker 
1455*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_oct(SwigPyObject * v)1456*ab8db090SAndroid Build Coastguard Worker SwigPyObject_oct(SwigPyObject *v)
1457*ab8db090SAndroid Build Coastguard Worker {
1458*ab8db090SAndroid Build Coastguard Worker   return SwigPyObject_format("%o",v);
1459*ab8db090SAndroid Build Coastguard Worker }
1460*ab8db090SAndroid Build Coastguard Worker 
1461*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_hex(SwigPyObject * v)1462*ab8db090SAndroid Build Coastguard Worker SwigPyObject_hex(SwigPyObject *v)
1463*ab8db090SAndroid Build Coastguard Worker {
1464*ab8db090SAndroid Build Coastguard Worker   return SwigPyObject_format("%x",v);
1465*ab8db090SAndroid Build Coastguard Worker }
1466*ab8db090SAndroid Build Coastguard Worker 
1467*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
1468*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
SwigPyObject_repr(SwigPyObject * v)1469*ab8db090SAndroid Build Coastguard Worker SwigPyObject_repr(SwigPyObject *v)
1470*ab8db090SAndroid Build Coastguard Worker #else
1471*ab8db090SAndroid Build Coastguard Worker SwigPyObject_repr(SwigPyObject *v, PyObject *args)
1472*ab8db090SAndroid Build Coastguard Worker #endif
1473*ab8db090SAndroid Build Coastguard Worker {
1474*ab8db090SAndroid Build Coastguard Worker   const char *name = SWIG_TypePrettyName(v->ty);
1475*ab8db090SAndroid Build Coastguard Worker   PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", name, v);
1476*ab8db090SAndroid Build Coastguard Worker   if (v->next) {
1477*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
1478*ab8db090SAndroid Build Coastguard Worker     PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
1479*ab8db090SAndroid Build Coastguard Worker #else
1480*ab8db090SAndroid Build Coastguard Worker     PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args);
1481*ab8db090SAndroid Build Coastguard Worker #endif
1482*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
1483*ab8db090SAndroid Build Coastguard Worker     PyObject *joined = PyUnicode_Concat(repr, nrep);
1484*ab8db090SAndroid Build Coastguard Worker     Py_DecRef(repr);
1485*ab8db090SAndroid Build Coastguard Worker     Py_DecRef(nrep);
1486*ab8db090SAndroid Build Coastguard Worker     repr = joined;
1487*ab8db090SAndroid Build Coastguard Worker #else
1488*ab8db090SAndroid Build Coastguard Worker     PyString_ConcatAndDel(&repr,nrep);
1489*ab8db090SAndroid Build Coastguard Worker #endif
1490*ab8db090SAndroid Build Coastguard Worker   }
1491*ab8db090SAndroid Build Coastguard Worker   return repr;
1492*ab8db090SAndroid Build Coastguard Worker }
1493*ab8db090SAndroid Build Coastguard Worker 
1494*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SwigPyObject_print(SwigPyObject * v,FILE * fp,int SWIGUNUSEDPARM (flags))1495*ab8db090SAndroid Build Coastguard Worker SwigPyObject_print(SwigPyObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1496*ab8db090SAndroid Build Coastguard Worker {
1497*ab8db090SAndroid Build Coastguard Worker   char *str;
1498*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
1499*ab8db090SAndroid Build Coastguard Worker   PyObject *repr = SwigPyObject_repr(v);
1500*ab8db090SAndroid Build Coastguard Worker #else
1501*ab8db090SAndroid Build Coastguard Worker   PyObject *repr = SwigPyObject_repr(v, NULL);
1502*ab8db090SAndroid Build Coastguard Worker #endif
1503*ab8db090SAndroid Build Coastguard Worker   if (repr) {
1504*ab8db090SAndroid Build Coastguard Worker     str = SWIG_Python_str_AsChar(repr);
1505*ab8db090SAndroid Build Coastguard Worker     fputs(str, fp);
1506*ab8db090SAndroid Build Coastguard Worker     SWIG_Python_str_DelForPy3(str);
1507*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(repr);
1508*ab8db090SAndroid Build Coastguard Worker     return 0;
1509*ab8db090SAndroid Build Coastguard Worker   } else {
1510*ab8db090SAndroid Build Coastguard Worker     return 1;
1511*ab8db090SAndroid Build Coastguard Worker   }
1512*ab8db090SAndroid Build Coastguard Worker }
1513*ab8db090SAndroid Build Coastguard Worker 
1514*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_str(SwigPyObject * v)1515*ab8db090SAndroid Build Coastguard Worker SwigPyObject_str(SwigPyObject *v)
1516*ab8db090SAndroid Build Coastguard Worker {
1517*ab8db090SAndroid Build Coastguard Worker   char result[SWIG_BUFFER_SIZE];
1518*ab8db090SAndroid Build Coastguard Worker   return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
1519*ab8db090SAndroid Build Coastguard Worker     SWIG_Python_str_FromChar(result) : 0;
1520*ab8db090SAndroid Build Coastguard Worker }
1521*ab8db090SAndroid Build Coastguard Worker 
1522*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SwigPyObject_compare(SwigPyObject * v,SwigPyObject * w)1523*ab8db090SAndroid Build Coastguard Worker SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
1524*ab8db090SAndroid Build Coastguard Worker {
1525*ab8db090SAndroid Build Coastguard Worker   void *i = v->ptr;
1526*ab8db090SAndroid Build Coastguard Worker   void *j = w->ptr;
1527*ab8db090SAndroid Build Coastguard Worker   return (i < j) ? -1 : ((i > j) ? 1 : 0);
1528*ab8db090SAndroid Build Coastguard Worker }
1529*ab8db090SAndroid Build Coastguard Worker 
1530*ab8db090SAndroid Build Coastguard Worker /* Added for Python 3.x, would it also be useful for Python 2.x? */
1531*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject*
SwigPyObject_richcompare(SwigPyObject * v,SwigPyObject * w,int op)1532*ab8db090SAndroid Build Coastguard Worker SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
1533*ab8db090SAndroid Build Coastguard Worker {
1534*ab8db090SAndroid Build Coastguard Worker   PyObject* res;
1535*ab8db090SAndroid Build Coastguard Worker   if( op != Py_EQ && op != Py_NE ) {
1536*ab8db090SAndroid Build Coastguard Worker     Py_INCREF(Py_NotImplemented);
1537*ab8db090SAndroid Build Coastguard Worker     return Py_NotImplemented;
1538*ab8db090SAndroid Build Coastguard Worker   }
1539*ab8db090SAndroid Build Coastguard Worker   if( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) )
1540*ab8db090SAndroid Build Coastguard Worker     res = Py_True;
1541*ab8db090SAndroid Build Coastguard Worker   else
1542*ab8db090SAndroid Build Coastguard Worker     res = Py_False;
1543*ab8db090SAndroid Build Coastguard Worker   Py_INCREF(res);
1544*ab8db090SAndroid Build Coastguard Worker   return res;
1545*ab8db090SAndroid Build Coastguard Worker }
1546*ab8db090SAndroid Build Coastguard Worker 
1547*ab8db090SAndroid Build Coastguard Worker 
1548*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
1549*ab8db090SAndroid Build Coastguard Worker 
1550*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject*
SwigPyObject_type(void)1551*ab8db090SAndroid Build Coastguard Worker SwigPyObject_type(void) {
1552*ab8db090SAndroid Build Coastguard Worker   static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
1553*ab8db090SAndroid Build Coastguard Worker   return type;
1554*ab8db090SAndroid Build Coastguard Worker }
1555*ab8db090SAndroid Build Coastguard Worker 
1556*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE int
SwigPyObject_Check(PyObject * op)1557*ab8db090SAndroid Build Coastguard Worker SwigPyObject_Check(PyObject *op) {
1558*ab8db090SAndroid Build Coastguard Worker   return (Py_TYPE(op) == SwigPyObject_type())
1559*ab8db090SAndroid Build Coastguard Worker     || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0);
1560*ab8db090SAndroid Build Coastguard Worker }
1561*ab8db090SAndroid Build Coastguard Worker 
1562*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
1563*ab8db090SAndroid Build Coastguard Worker SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
1564*ab8db090SAndroid Build Coastguard Worker 
1565*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SwigPyObject_dealloc(PyObject * v)1566*ab8db090SAndroid Build Coastguard Worker SwigPyObject_dealloc(PyObject *v)
1567*ab8db090SAndroid Build Coastguard Worker {
1568*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = (SwigPyObject *) v;
1569*ab8db090SAndroid Build Coastguard Worker   PyObject *next = sobj->next;
1570*ab8db090SAndroid Build Coastguard Worker   if (sobj->own == SWIG_POINTER_OWN) {
1571*ab8db090SAndroid Build Coastguard Worker     swig_type_info *ty = sobj->ty;
1572*ab8db090SAndroid Build Coastguard Worker     SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
1573*ab8db090SAndroid Build Coastguard Worker     PyObject *destroy = data ? data->destroy : 0;
1574*ab8db090SAndroid Build Coastguard Worker     if (destroy) {
1575*ab8db090SAndroid Build Coastguard Worker       /* destroy is always a VARARGS method */
1576*ab8db090SAndroid Build Coastguard Worker       PyObject *res;
1577*ab8db090SAndroid Build Coastguard Worker       if (data->delargs) {
1578*ab8db090SAndroid Build Coastguard Worker 	/* we need to create a temporary object to carry the destroy operation */
1579*ab8db090SAndroid Build Coastguard Worker 	PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
1580*ab8db090SAndroid Build Coastguard Worker 	res = SWIG_Python_CallFunctor(destroy, tmp);
1581*ab8db090SAndroid Build Coastguard Worker 	Py_DECREF(tmp);
1582*ab8db090SAndroid Build Coastguard Worker       } else {
1583*ab8db090SAndroid Build Coastguard Worker 	PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1584*ab8db090SAndroid Build Coastguard Worker 	PyObject *mself = PyCFunction_GET_SELF(destroy);
1585*ab8db090SAndroid Build Coastguard Worker 	res = ((*meth)(mself, v));
1586*ab8db090SAndroid Build Coastguard Worker       }
1587*ab8db090SAndroid Build Coastguard Worker       Py_XDECREF(res);
1588*ab8db090SAndroid Build Coastguard Worker     }
1589*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1590*ab8db090SAndroid Build Coastguard Worker     else {
1591*ab8db090SAndroid Build Coastguard Worker       const char *name = SWIG_TypePrettyName(ty);
1592*ab8db090SAndroid Build Coastguard Worker       printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1593*ab8db090SAndroid Build Coastguard Worker     }
1594*ab8db090SAndroid Build Coastguard Worker #endif
1595*ab8db090SAndroid Build Coastguard Worker   }
1596*ab8db090SAndroid Build Coastguard Worker   Py_XDECREF(next);
1597*ab8db090SAndroid Build Coastguard Worker   PyObject_DEL(v);
1598*ab8db090SAndroid Build Coastguard Worker }
1599*ab8db090SAndroid Build Coastguard Worker 
1600*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject*
SwigPyObject_append(PyObject * v,PyObject * next)1601*ab8db090SAndroid Build Coastguard Worker SwigPyObject_append(PyObject* v, PyObject* next)
1602*ab8db090SAndroid Build Coastguard Worker {
1603*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = (SwigPyObject *) v;
1604*ab8db090SAndroid Build Coastguard Worker #ifndef METH_O
1605*ab8db090SAndroid Build Coastguard Worker   PyObject *tmp = 0;
1606*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
1607*ab8db090SAndroid Build Coastguard Worker   next = tmp;
1608*ab8db090SAndroid Build Coastguard Worker #endif
1609*ab8db090SAndroid Build Coastguard Worker   if (!SwigPyObject_Check(next)) {
1610*ab8db090SAndroid Build Coastguard Worker     return NULL;
1611*ab8db090SAndroid Build Coastguard Worker   }
1612*ab8db090SAndroid Build Coastguard Worker   sobj->next = next;
1613*ab8db090SAndroid Build Coastguard Worker   Py_INCREF(next);
1614*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
1615*ab8db090SAndroid Build Coastguard Worker }
1616*ab8db090SAndroid Build Coastguard Worker 
1617*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject*
1618*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
SwigPyObject_next(PyObject * v)1619*ab8db090SAndroid Build Coastguard Worker SwigPyObject_next(PyObject* v)
1620*ab8db090SAndroid Build Coastguard Worker #else
1621*ab8db090SAndroid Build Coastguard Worker SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1622*ab8db090SAndroid Build Coastguard Worker #endif
1623*ab8db090SAndroid Build Coastguard Worker {
1624*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = (SwigPyObject *) v;
1625*ab8db090SAndroid Build Coastguard Worker   if (sobj->next) {
1626*ab8db090SAndroid Build Coastguard Worker     Py_INCREF(sobj->next);
1627*ab8db090SAndroid Build Coastguard Worker     return sobj->next;
1628*ab8db090SAndroid Build Coastguard Worker   } else {
1629*ab8db090SAndroid Build Coastguard Worker     return SWIG_Py_Void();
1630*ab8db090SAndroid Build Coastguard Worker   }
1631*ab8db090SAndroid Build Coastguard Worker }
1632*ab8db090SAndroid Build Coastguard Worker 
1633*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject*
1634*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
SwigPyObject_disown(PyObject * v)1635*ab8db090SAndroid Build Coastguard Worker SwigPyObject_disown(PyObject *v)
1636*ab8db090SAndroid Build Coastguard Worker #else
1637*ab8db090SAndroid Build Coastguard Worker SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1638*ab8db090SAndroid Build Coastguard Worker #endif
1639*ab8db090SAndroid Build Coastguard Worker {
1640*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = (SwigPyObject *)v;
1641*ab8db090SAndroid Build Coastguard Worker   sobj->own = 0;
1642*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
1643*ab8db090SAndroid Build Coastguard Worker }
1644*ab8db090SAndroid Build Coastguard Worker 
1645*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject*
1646*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
SwigPyObject_acquire(PyObject * v)1647*ab8db090SAndroid Build Coastguard Worker SwigPyObject_acquire(PyObject *v)
1648*ab8db090SAndroid Build Coastguard Worker #else
1649*ab8db090SAndroid Build Coastguard Worker SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1650*ab8db090SAndroid Build Coastguard Worker #endif
1651*ab8db090SAndroid Build Coastguard Worker {
1652*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = (SwigPyObject *)v;
1653*ab8db090SAndroid Build Coastguard Worker   sobj->own = SWIG_POINTER_OWN;
1654*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
1655*ab8db090SAndroid Build Coastguard Worker }
1656*ab8db090SAndroid Build Coastguard Worker 
1657*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject*
SwigPyObject_own(PyObject * v,PyObject * args)1658*ab8db090SAndroid Build Coastguard Worker SwigPyObject_own(PyObject *v, PyObject *args)
1659*ab8db090SAndroid Build Coastguard Worker {
1660*ab8db090SAndroid Build Coastguard Worker   PyObject *val = 0;
1661*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX < 0x02020000)
1662*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
1663*ab8db090SAndroid Build Coastguard Worker #else
1664*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val))
1665*ab8db090SAndroid Build Coastguard Worker #endif
1666*ab8db090SAndroid Build Coastguard Worker     {
1667*ab8db090SAndroid Build Coastguard Worker       return NULL;
1668*ab8db090SAndroid Build Coastguard Worker     }
1669*ab8db090SAndroid Build Coastguard Worker   else
1670*ab8db090SAndroid Build Coastguard Worker     {
1671*ab8db090SAndroid Build Coastguard Worker       SwigPyObject *sobj = (SwigPyObject *)v;
1672*ab8db090SAndroid Build Coastguard Worker       PyObject *obj = PyBool_FromLong(sobj->own);
1673*ab8db090SAndroid Build Coastguard Worker       if (val) {
1674*ab8db090SAndroid Build Coastguard Worker #ifdef METH_NOARGS
1675*ab8db090SAndroid Build Coastguard Worker 	if (PyObject_IsTrue(val)) {
1676*ab8db090SAndroid Build Coastguard Worker 	  SwigPyObject_acquire(v);
1677*ab8db090SAndroid Build Coastguard Worker 	} else {
1678*ab8db090SAndroid Build Coastguard Worker 	  SwigPyObject_disown(v);
1679*ab8db090SAndroid Build Coastguard Worker 	}
1680*ab8db090SAndroid Build Coastguard Worker #else
1681*ab8db090SAndroid Build Coastguard Worker 	if (PyObject_IsTrue(val)) {
1682*ab8db090SAndroid Build Coastguard Worker 	  SwigPyObject_acquire(v,args);
1683*ab8db090SAndroid Build Coastguard Worker 	} else {
1684*ab8db090SAndroid Build Coastguard Worker 	  SwigPyObject_disown(v,args);
1685*ab8db090SAndroid Build Coastguard Worker 	}
1686*ab8db090SAndroid Build Coastguard Worker #endif
1687*ab8db090SAndroid Build Coastguard Worker       }
1688*ab8db090SAndroid Build Coastguard Worker       return obj;
1689*ab8db090SAndroid Build Coastguard Worker     }
1690*ab8db090SAndroid Build Coastguard Worker }
1691*ab8db090SAndroid Build Coastguard Worker 
1692*ab8db090SAndroid Build Coastguard Worker #ifdef METH_O
1693*ab8db090SAndroid Build Coastguard Worker static PyMethodDef
1694*ab8db090SAndroid Build Coastguard Worker swigobject_methods[] = {
1695*ab8db090SAndroid Build Coastguard Worker   {(char *)"disown",  (PyCFunction)SwigPyObject_disown,  METH_NOARGS,  (char *)"releases ownership of the pointer"},
1696*ab8db090SAndroid Build Coastguard Worker   {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS,  (char *)"aquires ownership of the pointer"},
1697*ab8db090SAndroid Build Coastguard Worker   {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1698*ab8db090SAndroid Build Coastguard Worker   {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_O,       (char *)"appends another 'this' object"},
1699*ab8db090SAndroid Build Coastguard Worker   {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_NOARGS,  (char *)"returns the next 'this' object"},
1700*ab8db090SAndroid Build Coastguard Worker   {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,    METH_NOARGS,  (char *)"returns object representation"},
1701*ab8db090SAndroid Build Coastguard Worker   {0, 0, 0, 0}
1702*ab8db090SAndroid Build Coastguard Worker };
1703*ab8db090SAndroid Build Coastguard Worker #else
1704*ab8db090SAndroid Build Coastguard Worker static PyMethodDef
1705*ab8db090SAndroid Build Coastguard Worker swigobject_methods[] = {
1706*ab8db090SAndroid Build Coastguard Worker   {(char *)"disown",  (PyCFunction)SwigPyObject_disown,  METH_VARARGS,  (char *)"releases ownership of the pointer"},
1707*ab8db090SAndroid Build Coastguard Worker   {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS,  (char *)"aquires ownership of the pointer"},
1708*ab8db090SAndroid Build Coastguard Worker   {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS,  (char *)"returns/sets ownership of the pointer"},
1709*ab8db090SAndroid Build Coastguard Worker   {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_VARARGS,  (char *)"appends another 'this' object"},
1710*ab8db090SAndroid Build Coastguard Worker   {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_VARARGS,  (char *)"returns the next 'this' object"},
1711*ab8db090SAndroid Build Coastguard Worker   {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,   METH_VARARGS,  (char *)"returns object representation"},
1712*ab8db090SAndroid Build Coastguard Worker   {0, 0, 0, 0}
1713*ab8db090SAndroid Build Coastguard Worker };
1714*ab8db090SAndroid Build Coastguard Worker #endif
1715*ab8db090SAndroid Build Coastguard Worker 
1716*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02020000
1717*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *
SwigPyObject_getattr(SwigPyObject * sobj,char * name)1718*ab8db090SAndroid Build Coastguard Worker SwigPyObject_getattr(SwigPyObject *sobj,char *name)
1719*ab8db090SAndroid Build Coastguard Worker {
1720*ab8db090SAndroid Build Coastguard Worker   return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
1721*ab8db090SAndroid Build Coastguard Worker }
1722*ab8db090SAndroid Build Coastguard Worker #endif
1723*ab8db090SAndroid Build Coastguard Worker 
1724*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject*
_PySwigObject_type(void)1725*ab8db090SAndroid Build Coastguard Worker _PySwigObject_type(void) {
1726*ab8db090SAndroid Build Coastguard Worker   static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1727*ab8db090SAndroid Build Coastguard Worker 
1728*ab8db090SAndroid Build Coastguard Worker   static PyNumberMethods SwigPyObject_as_number = {
1729*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_add*/
1730*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_subtract*/
1731*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_multiply*/
1732*ab8db090SAndroid Build Coastguard Worker     /* nb_divide removed in Python 3 */
1733*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
1734*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_divide*/
1735*ab8db090SAndroid Build Coastguard Worker #endif
1736*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_remainder*/
1737*ab8db090SAndroid Build Coastguard Worker     (binaryfunc)0, /*nb_divmod*/
1738*ab8db090SAndroid Build Coastguard Worker     (ternaryfunc)0,/*nb_power*/
1739*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)0,  /*nb_negative*/
1740*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)0,  /*nb_positive*/
1741*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)0,  /*nb_absolute*/
1742*ab8db090SAndroid Build Coastguard Worker     (inquiry)0,    /*nb_nonzero*/
1743*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_invert*/
1744*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_lshift*/
1745*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_rshift*/
1746*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_and*/
1747*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_xor*/
1748*ab8db090SAndroid Build Coastguard Worker     0,		   /*nb_or*/
1749*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
1750*ab8db090SAndroid Build Coastguard Worker     0,   /*nb_coerce*/
1751*ab8db090SAndroid Build Coastguard Worker #endif
1752*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)SwigPyObject_long, /*nb_int*/
1753*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
1754*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)SwigPyObject_long, /*nb_long*/
1755*ab8db090SAndroid Build Coastguard Worker #else
1756*ab8db090SAndroid Build Coastguard Worker     0, /*nb_reserved*/
1757*ab8db090SAndroid Build Coastguard Worker #endif
1758*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)0,                 /*nb_float*/
1759*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
1760*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)SwigPyObject_oct,  /*nb_oct*/
1761*ab8db090SAndroid Build Coastguard Worker     (unaryfunc)SwigPyObject_hex,  /*nb_hex*/
1762*ab8db090SAndroid Build Coastguard Worker #endif
1763*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000 /* 3.0 */
1764*ab8db090SAndroid Build Coastguard Worker     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
1765*ab8db090SAndroid Build Coastguard Worker #elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
1766*ab8db090SAndroid Build Coastguard Worker     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
1767*ab8db090SAndroid Build Coastguard Worker #elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
1768*ab8db090SAndroid Build Coastguard Worker     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
1769*ab8db090SAndroid Build Coastguard Worker #elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
1770*ab8db090SAndroid Build Coastguard Worker     0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
1771*ab8db090SAndroid Build Coastguard Worker #endif
1772*ab8db090SAndroid Build Coastguard Worker   };
1773*ab8db090SAndroid Build Coastguard Worker 
1774*ab8db090SAndroid Build Coastguard Worker   static PyTypeObject swigpyobject_type;
1775*ab8db090SAndroid Build Coastguard Worker   static int type_init = 0;
1776*ab8db090SAndroid Build Coastguard Worker   if (!type_init) {
1777*ab8db090SAndroid Build Coastguard Worker     const PyTypeObject tmp
1778*ab8db090SAndroid Build Coastguard Worker       = {
1779*ab8db090SAndroid Build Coastguard Worker 	/* PyObject header changed in Python 3 */
1780*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
1781*ab8db090SAndroid Build Coastguard Worker 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
1782*ab8db090SAndroid Build Coastguard Worker #else
1783*ab8db090SAndroid Build Coastguard Worker 	PyObject_HEAD_INIT(NULL)
1784*ab8db090SAndroid Build Coastguard Worker 	0,				    /* ob_size */
1785*ab8db090SAndroid Build Coastguard Worker #endif
1786*ab8db090SAndroid Build Coastguard Worker 	(char *)"SwigPyObject",		    /* tp_name */
1787*ab8db090SAndroid Build Coastguard Worker 	sizeof(SwigPyObject),		    /* tp_basicsize */
1788*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_itemsize */
1789*ab8db090SAndroid Build Coastguard Worker 	(destructor)SwigPyObject_dealloc,   /* tp_dealloc */
1790*ab8db090SAndroid Build Coastguard Worker 	(printfunc)SwigPyObject_print,	    /* tp_print */
1791*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x02020000
1792*ab8db090SAndroid Build Coastguard Worker 	(getattrfunc)SwigPyObject_getattr,  /* tp_getattr */
1793*ab8db090SAndroid Build Coastguard Worker #else
1794*ab8db090SAndroid Build Coastguard Worker 	(getattrfunc)0,			    /* tp_getattr */
1795*ab8db090SAndroid Build Coastguard Worker #endif
1796*ab8db090SAndroid Build Coastguard Worker 	(setattrfunc)0,			    /* tp_setattr */
1797*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
1798*ab8db090SAndroid Build Coastguard Worker     0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
1799*ab8db090SAndroid Build Coastguard Worker #else
1800*ab8db090SAndroid Build Coastguard Worker 	(cmpfunc)SwigPyObject_compare,	    /* tp_compare */
1801*ab8db090SAndroid Build Coastguard Worker #endif
1802*ab8db090SAndroid Build Coastguard Worker 	(reprfunc)SwigPyObject_repr,	    /* tp_repr */
1803*ab8db090SAndroid Build Coastguard Worker 	&SwigPyObject_as_number,	    /* tp_as_number */
1804*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_as_sequence */
1805*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_as_mapping */
1806*ab8db090SAndroid Build Coastguard Worker 	(hashfunc)0,			    /* tp_hash */
1807*ab8db090SAndroid Build Coastguard Worker 	(ternaryfunc)0,			    /* tp_call */
1808*ab8db090SAndroid Build Coastguard Worker 	(reprfunc)SwigPyObject_str,	    /* tp_str */
1809*ab8db090SAndroid Build Coastguard Worker 	PyObject_GenericGetAttr,            /* tp_getattro */
1810*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_setattro */
1811*ab8db090SAndroid Build Coastguard Worker 	0,		                    /* tp_as_buffer */
1812*ab8db090SAndroid Build Coastguard Worker 	Py_TPFLAGS_DEFAULT,	            /* tp_flags */
1813*ab8db090SAndroid Build Coastguard Worker 	swigobject_doc, 	            /* tp_doc */
1814*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_traverse */
1815*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_clear */
1816*ab8db090SAndroid Build Coastguard Worker 	(richcmpfunc)SwigPyObject_richcompare,           /* tp_richcompare */
1817*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_weaklistoffset */
1818*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02020000
1819*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_iter */
1820*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_iternext */
1821*ab8db090SAndroid Build Coastguard Worker 	swigobject_methods,		    /* tp_methods */
1822*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_members */
1823*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_getset */
1824*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_base */
1825*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_dict */
1826*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_descr_get */
1827*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_descr_set */
1828*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_dictoffset */
1829*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_init */
1830*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_alloc */
1831*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_new */
1832*ab8db090SAndroid Build Coastguard Worker 	0,	                            /* tp_free */
1833*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_is_gc */
1834*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_bases */
1835*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_mro */
1836*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_cache */
1837*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_subclasses */
1838*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_weaklist */
1839*ab8db090SAndroid Build Coastguard Worker #endif
1840*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02030000
1841*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_del */
1842*ab8db090SAndroid Build Coastguard Worker #endif
1843*ab8db090SAndroid Build Coastguard Worker #ifdef COUNT_ALLOCS
1844*ab8db090SAndroid Build Coastguard Worker 	0,0,0,0                             /* tp_alloc -> tp_next */
1845*ab8db090SAndroid Build Coastguard Worker #endif
1846*ab8db090SAndroid Build Coastguard Worker       };
1847*ab8db090SAndroid Build Coastguard Worker     swigpyobject_type = tmp;
1848*ab8db090SAndroid Build Coastguard Worker     /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */
1849*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
1850*ab8db090SAndroid Build Coastguard Worker     swigpyobject_type.ob_type = &PyType_Type;
1851*ab8db090SAndroid Build Coastguard Worker #endif
1852*ab8db090SAndroid Build Coastguard Worker     type_init = 1;
1853*ab8db090SAndroid Build Coastguard Worker   }
1854*ab8db090SAndroid Build Coastguard Worker   return &swigpyobject_type;
1855*ab8db090SAndroid Build Coastguard Worker }
1856*ab8db090SAndroid Build Coastguard Worker 
1857*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyObject_New(void * ptr,swig_type_info * ty,int own)1858*ab8db090SAndroid Build Coastguard Worker SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
1859*ab8db090SAndroid Build Coastguard Worker {
1860*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type());
1861*ab8db090SAndroid Build Coastguard Worker   if (sobj) {
1862*ab8db090SAndroid Build Coastguard Worker     sobj->ptr  = ptr;
1863*ab8db090SAndroid Build Coastguard Worker     sobj->ty   = ty;
1864*ab8db090SAndroid Build Coastguard Worker     sobj->own  = own;
1865*ab8db090SAndroid Build Coastguard Worker     sobj->next = 0;
1866*ab8db090SAndroid Build Coastguard Worker   }
1867*ab8db090SAndroid Build Coastguard Worker   return (PyObject *)sobj;
1868*ab8db090SAndroid Build Coastguard Worker }
1869*ab8db090SAndroid Build Coastguard Worker 
1870*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
1871*ab8db090SAndroid Build Coastguard Worker  * Implements a simple Swig Packed type, and use it instead of string
1872*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
1873*ab8db090SAndroid Build Coastguard Worker 
1874*ab8db090SAndroid Build Coastguard Worker typedef struct {
1875*ab8db090SAndroid Build Coastguard Worker   PyObject_HEAD
1876*ab8db090SAndroid Build Coastguard Worker   void *pack;
1877*ab8db090SAndroid Build Coastguard Worker   swig_type_info *ty;
1878*ab8db090SAndroid Build Coastguard Worker   size_t size;
1879*ab8db090SAndroid Build Coastguard Worker } SwigPyPacked;
1880*ab8db090SAndroid Build Coastguard Worker 
1881*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SwigPyPacked_print(SwigPyPacked * v,FILE * fp,int SWIGUNUSEDPARM (flags))1882*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1883*ab8db090SAndroid Build Coastguard Worker {
1884*ab8db090SAndroid Build Coastguard Worker   char result[SWIG_BUFFER_SIZE];
1885*ab8db090SAndroid Build Coastguard Worker   fputs("<Swig Packed ", fp);
1886*ab8db090SAndroid Build Coastguard Worker   if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1887*ab8db090SAndroid Build Coastguard Worker     fputs("at ", fp);
1888*ab8db090SAndroid Build Coastguard Worker     fputs(result, fp);
1889*ab8db090SAndroid Build Coastguard Worker   }
1890*ab8db090SAndroid Build Coastguard Worker   fputs(v->ty->name,fp);
1891*ab8db090SAndroid Build Coastguard Worker   fputs(">", fp);
1892*ab8db090SAndroid Build Coastguard Worker   return 0;
1893*ab8db090SAndroid Build Coastguard Worker }
1894*ab8db090SAndroid Build Coastguard Worker 
1895*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyPacked_repr(SwigPyPacked * v)1896*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_repr(SwigPyPacked *v)
1897*ab8db090SAndroid Build Coastguard Worker {
1898*ab8db090SAndroid Build Coastguard Worker   char result[SWIG_BUFFER_SIZE];
1899*ab8db090SAndroid Build Coastguard Worker   if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1900*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_str_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1901*ab8db090SAndroid Build Coastguard Worker   } else {
1902*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name);
1903*ab8db090SAndroid Build Coastguard Worker   }
1904*ab8db090SAndroid Build Coastguard Worker }
1905*ab8db090SAndroid Build Coastguard Worker 
1906*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyPacked_str(SwigPyPacked * v)1907*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_str(SwigPyPacked *v)
1908*ab8db090SAndroid Build Coastguard Worker {
1909*ab8db090SAndroid Build Coastguard Worker   char result[SWIG_BUFFER_SIZE];
1910*ab8db090SAndroid Build Coastguard Worker   if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1911*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name);
1912*ab8db090SAndroid Build Coastguard Worker   } else {
1913*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_str_FromChar(v->ty->name);
1914*ab8db090SAndroid Build Coastguard Worker   }
1915*ab8db090SAndroid Build Coastguard Worker }
1916*ab8db090SAndroid Build Coastguard Worker 
1917*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SwigPyPacked_compare(SwigPyPacked * v,SwigPyPacked * w)1918*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
1919*ab8db090SAndroid Build Coastguard Worker {
1920*ab8db090SAndroid Build Coastguard Worker   size_t i = v->size;
1921*ab8db090SAndroid Build Coastguard Worker   size_t j = w->size;
1922*ab8db090SAndroid Build Coastguard Worker   int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1923*ab8db090SAndroid Build Coastguard Worker   return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
1924*ab8db090SAndroid Build Coastguard Worker }
1925*ab8db090SAndroid Build Coastguard Worker 
1926*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
1927*ab8db090SAndroid Build Coastguard Worker 
1928*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject*
SwigPyPacked_type(void)1929*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_type(void) {
1930*ab8db090SAndroid Build Coastguard Worker   static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
1931*ab8db090SAndroid Build Coastguard Worker   return type;
1932*ab8db090SAndroid Build Coastguard Worker }
1933*ab8db090SAndroid Build Coastguard Worker 
1934*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE int
SwigPyPacked_Check(PyObject * op)1935*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_Check(PyObject *op) {
1936*ab8db090SAndroid Build Coastguard Worker   return ((op)->ob_type == _PySwigPacked_type())
1937*ab8db090SAndroid Build Coastguard Worker     || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0);
1938*ab8db090SAndroid Build Coastguard Worker }
1939*ab8db090SAndroid Build Coastguard Worker 
1940*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SwigPyPacked_dealloc(PyObject * v)1941*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_dealloc(PyObject *v)
1942*ab8db090SAndroid Build Coastguard Worker {
1943*ab8db090SAndroid Build Coastguard Worker   if (SwigPyPacked_Check(v)) {
1944*ab8db090SAndroid Build Coastguard Worker     SwigPyPacked *sobj = (SwigPyPacked *) v;
1945*ab8db090SAndroid Build Coastguard Worker     free(sobj->pack);
1946*ab8db090SAndroid Build Coastguard Worker   }
1947*ab8db090SAndroid Build Coastguard Worker   PyObject_DEL(v);
1948*ab8db090SAndroid Build Coastguard Worker }
1949*ab8db090SAndroid Build Coastguard Worker 
1950*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyTypeObject*
_PySwigPacked_type(void)1951*ab8db090SAndroid Build Coastguard Worker _PySwigPacked_type(void) {
1952*ab8db090SAndroid Build Coastguard Worker   static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1953*ab8db090SAndroid Build Coastguard Worker   static PyTypeObject swigpypacked_type;
1954*ab8db090SAndroid Build Coastguard Worker   static int type_init = 0;
1955*ab8db090SAndroid Build Coastguard Worker   if (!type_init) {
1956*ab8db090SAndroid Build Coastguard Worker     const PyTypeObject tmp
1957*ab8db090SAndroid Build Coastguard Worker       = {
1958*ab8db090SAndroid Build Coastguard Worker     /* PyObject header changed in Python 3 */
1959*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
1960*ab8db090SAndroid Build Coastguard Worker     PyVarObject_HEAD_INIT(&PyType_Type, 0)
1961*ab8db090SAndroid Build Coastguard Worker #else
1962*ab8db090SAndroid Build Coastguard Worker 	PyObject_HEAD_INIT(NULL)
1963*ab8db090SAndroid Build Coastguard Worker     0,				    /* ob_size */
1964*ab8db090SAndroid Build Coastguard Worker #endif
1965*ab8db090SAndroid Build Coastguard Worker 	(char *)"SwigPyPacked",		    /* tp_name */
1966*ab8db090SAndroid Build Coastguard Worker 	sizeof(SwigPyPacked),		    /* tp_basicsize */
1967*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_itemsize */
1968*ab8db090SAndroid Build Coastguard Worker 	(destructor)SwigPyPacked_dealloc,   /* tp_dealloc */
1969*ab8db090SAndroid Build Coastguard Worker 	(printfunc)SwigPyPacked_print,	    /* tp_print */
1970*ab8db090SAndroid Build Coastguard Worker 	(getattrfunc)0,			    /* tp_getattr */
1971*ab8db090SAndroid Build Coastguard Worker 	(setattrfunc)0,			    /* tp_setattr */
1972*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
1973*ab8db090SAndroid Build Coastguard Worker     0, /* tp_reserved in 3.0.1 */
1974*ab8db090SAndroid Build Coastguard Worker #else
1975*ab8db090SAndroid Build Coastguard Worker     (cmpfunc)SwigPyPacked_compare,	    /* tp_compare */
1976*ab8db090SAndroid Build Coastguard Worker #endif
1977*ab8db090SAndroid Build Coastguard Worker 	(reprfunc)SwigPyPacked_repr,	    /* tp_repr */
1978*ab8db090SAndroid Build Coastguard Worker 	0,	                            /* tp_as_number */
1979*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_as_sequence */
1980*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_as_mapping */
1981*ab8db090SAndroid Build Coastguard Worker 	(hashfunc)0,			    /* tp_hash */
1982*ab8db090SAndroid Build Coastguard Worker 	(ternaryfunc)0,			    /* tp_call */
1983*ab8db090SAndroid Build Coastguard Worker 	(reprfunc)SwigPyPacked_str,	    /* tp_str */
1984*ab8db090SAndroid Build Coastguard Worker 	PyObject_GenericGetAttr,            /* tp_getattro */
1985*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_setattro */
1986*ab8db090SAndroid Build Coastguard Worker 	0,		                    /* tp_as_buffer */
1987*ab8db090SAndroid Build Coastguard Worker 	Py_TPFLAGS_DEFAULT,	            /* tp_flags */
1988*ab8db090SAndroid Build Coastguard Worker 	swigpacked_doc, 	            /* tp_doc */
1989*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_traverse */
1990*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_clear */
1991*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_richcompare */
1992*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_weaklistoffset */
1993*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02020000
1994*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_iter */
1995*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_iternext */
1996*ab8db090SAndroid Build Coastguard Worker 	0,		                    /* tp_methods */
1997*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_members */
1998*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_getset */
1999*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_base */
2000*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_dict */
2001*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_descr_get */
2002*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_descr_set */
2003*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_dictoffset */
2004*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_init */
2005*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_alloc */
2006*ab8db090SAndroid Build Coastguard Worker 	0,			            /* tp_new */
2007*ab8db090SAndroid Build Coastguard Worker 	0, 	                            /* tp_free */
2008*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_is_gc */
2009*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_bases */
2010*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_mro */
2011*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_cache */
2012*ab8db090SAndroid Build Coastguard Worker  	0,				    /* tp_subclasses */
2013*ab8db090SAndroid Build Coastguard Worker 	0,				    /* tp_weaklist */
2014*ab8db090SAndroid Build Coastguard Worker #endif
2015*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02030000
2016*ab8db090SAndroid Build Coastguard Worker 	0,                                  /* tp_del */
2017*ab8db090SAndroid Build Coastguard Worker #endif
2018*ab8db090SAndroid Build Coastguard Worker #ifdef COUNT_ALLOCS
2019*ab8db090SAndroid Build Coastguard Worker 	0,0,0,0                             /* tp_alloc -> tp_next */
2020*ab8db090SAndroid Build Coastguard Worker #endif
2021*ab8db090SAndroid Build Coastguard Worker       };
2022*ab8db090SAndroid Build Coastguard Worker     swigpypacked_type = tmp;
2023*ab8db090SAndroid Build Coastguard Worker     /* for Python 3 the ob_type already assigned in PyVarObject_HEAD_INIT() */
2024*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
2025*ab8db090SAndroid Build Coastguard Worker     swigpypacked_type.ob_type = &PyType_Type;
2026*ab8db090SAndroid Build Coastguard Worker #endif
2027*ab8db090SAndroid Build Coastguard Worker     type_init = 1;
2028*ab8db090SAndroid Build Coastguard Worker   }
2029*ab8db090SAndroid Build Coastguard Worker   return &swigpypacked_type;
2030*ab8db090SAndroid Build Coastguard Worker }
2031*ab8db090SAndroid Build Coastguard Worker 
2032*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SwigPyPacked_New(void * ptr,size_t size,swig_type_info * ty)2033*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
2034*ab8db090SAndroid Build Coastguard Worker {
2035*ab8db090SAndroid Build Coastguard Worker   SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type());
2036*ab8db090SAndroid Build Coastguard Worker   if (sobj) {
2037*ab8db090SAndroid Build Coastguard Worker     void *pack = malloc(size);
2038*ab8db090SAndroid Build Coastguard Worker     if (pack) {
2039*ab8db090SAndroid Build Coastguard Worker       memcpy(pack, ptr, size);
2040*ab8db090SAndroid Build Coastguard Worker       sobj->pack = pack;
2041*ab8db090SAndroid Build Coastguard Worker       sobj->ty   = ty;
2042*ab8db090SAndroid Build Coastguard Worker       sobj->size = size;
2043*ab8db090SAndroid Build Coastguard Worker     } else {
2044*ab8db090SAndroid Build Coastguard Worker       PyObject_DEL((PyObject *) sobj);
2045*ab8db090SAndroid Build Coastguard Worker       sobj = 0;
2046*ab8db090SAndroid Build Coastguard Worker     }
2047*ab8db090SAndroid Build Coastguard Worker   }
2048*ab8db090SAndroid Build Coastguard Worker   return (PyObject *) sobj;
2049*ab8db090SAndroid Build Coastguard Worker }
2050*ab8db090SAndroid Build Coastguard Worker 
2051*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SwigPyPacked_UnpackData(PyObject * obj,void * ptr,size_t size)2052*ab8db090SAndroid Build Coastguard Worker SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
2053*ab8db090SAndroid Build Coastguard Worker {
2054*ab8db090SAndroid Build Coastguard Worker   if (SwigPyPacked_Check(obj)) {
2055*ab8db090SAndroid Build Coastguard Worker     SwigPyPacked *sobj = (SwigPyPacked *)obj;
2056*ab8db090SAndroid Build Coastguard Worker     if (sobj->size != size) return 0;
2057*ab8db090SAndroid Build Coastguard Worker     memcpy(ptr, sobj->pack, size);
2058*ab8db090SAndroid Build Coastguard Worker     return sobj->ty;
2059*ab8db090SAndroid Build Coastguard Worker   } else {
2060*ab8db090SAndroid Build Coastguard Worker     return 0;
2061*ab8db090SAndroid Build Coastguard Worker   }
2062*ab8db090SAndroid Build Coastguard Worker }
2063*ab8db090SAndroid Build Coastguard Worker 
2064*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
2065*ab8db090SAndroid Build Coastguard Worker  * pointers/data manipulation
2066*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
2067*ab8db090SAndroid Build Coastguard Worker 
2068*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE PyObject *
_SWIG_This(void)2069*ab8db090SAndroid Build Coastguard Worker _SWIG_This(void)
2070*ab8db090SAndroid Build Coastguard Worker {
2071*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_str_FromChar("this");
2072*ab8db090SAndroid Build Coastguard Worker }
2073*ab8db090SAndroid Build Coastguard Worker 
2074*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SWIG_This(void)2075*ab8db090SAndroid Build Coastguard Worker SWIG_This(void)
2076*ab8db090SAndroid Build Coastguard Worker {
2077*ab8db090SAndroid Build Coastguard Worker   static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
2078*ab8db090SAndroid Build Coastguard Worker   return swig_this;
2079*ab8db090SAndroid Build Coastguard Worker }
2080*ab8db090SAndroid Build Coastguard Worker 
2081*ab8db090SAndroid Build Coastguard Worker /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
2082*ab8db090SAndroid Build Coastguard Worker 
2083*ab8db090SAndroid Build Coastguard Worker /* TODO: I don't know how to implement the fast getset in Python 3 right now */
2084*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
2085*ab8db090SAndroid Build Coastguard Worker #define SWIG_PYTHON_SLOW_GETSET_THIS
2086*ab8db090SAndroid Build Coastguard Worker #endif
2087*ab8db090SAndroid Build Coastguard Worker 
2088*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME SwigPyObject *
SWIG_Python_GetSwigThis(PyObject * pyobj)2089*ab8db090SAndroid Build Coastguard Worker SWIG_Python_GetSwigThis(PyObject *pyobj)
2090*ab8db090SAndroid Build Coastguard Worker {
2091*ab8db090SAndroid Build Coastguard Worker   if (SwigPyObject_Check(pyobj)) {
2092*ab8db090SAndroid Build Coastguard Worker     return (SwigPyObject *) pyobj;
2093*ab8db090SAndroid Build Coastguard Worker   } else {
2094*ab8db090SAndroid Build Coastguard Worker     PyObject *obj = 0;
2095*ab8db090SAndroid Build Coastguard Worker #if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
2096*ab8db090SAndroid Build Coastguard Worker     if (PyInstance_Check(pyobj)) {
2097*ab8db090SAndroid Build Coastguard Worker       obj = _PyInstance_Lookup(pyobj, SWIG_This());
2098*ab8db090SAndroid Build Coastguard Worker     } else {
2099*ab8db090SAndroid Build Coastguard Worker       PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2100*ab8db090SAndroid Build Coastguard Worker       if (dictptr != NULL) {
2101*ab8db090SAndroid Build Coastguard Worker 	PyObject *dict = *dictptr;
2102*ab8db090SAndroid Build Coastguard Worker 	obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
2103*ab8db090SAndroid Build Coastguard Worker       } else {
2104*ab8db090SAndroid Build Coastguard Worker #ifdef PyWeakref_CheckProxy
2105*ab8db090SAndroid Build Coastguard Worker 	if (PyWeakref_CheckProxy(pyobj)) {
2106*ab8db090SAndroid Build Coastguard Worker 	  PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
2107*ab8db090SAndroid Build Coastguard Worker 	  return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
2108*ab8db090SAndroid Build Coastguard Worker 	}
2109*ab8db090SAndroid Build Coastguard Worker #endif
2110*ab8db090SAndroid Build Coastguard Worker 	obj = PyObject_GetAttr(pyobj,SWIG_This());
2111*ab8db090SAndroid Build Coastguard Worker 	if (obj) {
2112*ab8db090SAndroid Build Coastguard Worker 	  Py_DECREF(obj);
2113*ab8db090SAndroid Build Coastguard Worker 	} else {
2114*ab8db090SAndroid Build Coastguard Worker 	  if (PyErr_Occurred()) PyErr_Clear();
2115*ab8db090SAndroid Build Coastguard Worker 	  return 0;
2116*ab8db090SAndroid Build Coastguard Worker 	}
2117*ab8db090SAndroid Build Coastguard Worker       }
2118*ab8db090SAndroid Build Coastguard Worker     }
2119*ab8db090SAndroid Build Coastguard Worker #else
2120*ab8db090SAndroid Build Coastguard Worker     obj = PyObject_GetAttr(pyobj,SWIG_This());
2121*ab8db090SAndroid Build Coastguard Worker     if (obj) {
2122*ab8db090SAndroid Build Coastguard Worker       Py_DECREF(obj);
2123*ab8db090SAndroid Build Coastguard Worker     } else {
2124*ab8db090SAndroid Build Coastguard Worker       if (PyErr_Occurred()) PyErr_Clear();
2125*ab8db090SAndroid Build Coastguard Worker       return 0;
2126*ab8db090SAndroid Build Coastguard Worker     }
2127*ab8db090SAndroid Build Coastguard Worker #endif
2128*ab8db090SAndroid Build Coastguard Worker     if (obj && !SwigPyObject_Check(obj)) {
2129*ab8db090SAndroid Build Coastguard Worker       /* a PyObject is called 'this', try to get the 'real this'
2130*ab8db090SAndroid Build Coastguard Worker 	 SwigPyObject from it */
2131*ab8db090SAndroid Build Coastguard Worker       return SWIG_Python_GetSwigThis(obj);
2132*ab8db090SAndroid Build Coastguard Worker     }
2133*ab8db090SAndroid Build Coastguard Worker     return (SwigPyObject *)obj;
2134*ab8db090SAndroid Build Coastguard Worker   }
2135*ab8db090SAndroid Build Coastguard Worker }
2136*ab8db090SAndroid Build Coastguard Worker 
2137*ab8db090SAndroid Build Coastguard Worker /* Acquire a pointer value */
2138*ab8db090SAndroid Build Coastguard Worker 
2139*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_AcquirePtr(PyObject * obj,int own)2140*ab8db090SAndroid Build Coastguard Worker SWIG_Python_AcquirePtr(PyObject *obj, int own) {
2141*ab8db090SAndroid Build Coastguard Worker   if (own == SWIG_POINTER_OWN) {
2142*ab8db090SAndroid Build Coastguard Worker     SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
2143*ab8db090SAndroid Build Coastguard Worker     if (sobj) {
2144*ab8db090SAndroid Build Coastguard Worker       int oldown = sobj->own;
2145*ab8db090SAndroid Build Coastguard Worker       sobj->own = own;
2146*ab8db090SAndroid Build Coastguard Worker       return oldown;
2147*ab8db090SAndroid Build Coastguard Worker     }
2148*ab8db090SAndroid Build Coastguard Worker   }
2149*ab8db090SAndroid Build Coastguard Worker   return 0;
2150*ab8db090SAndroid Build Coastguard Worker }
2151*ab8db090SAndroid Build Coastguard Worker 
2152*ab8db090SAndroid Build Coastguard Worker /* Convert a pointer value */
2153*ab8db090SAndroid Build Coastguard Worker 
2154*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_ConvertPtrAndOwn(PyObject * obj,void ** ptr,swig_type_info * ty,int flags,int * own)2155*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
2156*ab8db090SAndroid Build Coastguard Worker   if (!obj) return SWIG_ERROR;
2157*ab8db090SAndroid Build Coastguard Worker   if (obj == Py_None) {
2158*ab8db090SAndroid Build Coastguard Worker     if (ptr) *ptr = 0;
2159*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
2160*ab8db090SAndroid Build Coastguard Worker   } else {
2161*ab8db090SAndroid Build Coastguard Worker     SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
2162*ab8db090SAndroid Build Coastguard Worker     if (own)
2163*ab8db090SAndroid Build Coastguard Worker       *own = 0;
2164*ab8db090SAndroid Build Coastguard Worker     while (sobj) {
2165*ab8db090SAndroid Build Coastguard Worker       void *vptr = sobj->ptr;
2166*ab8db090SAndroid Build Coastguard Worker       if (ty) {
2167*ab8db090SAndroid Build Coastguard Worker 	swig_type_info *to = sobj->ty;
2168*ab8db090SAndroid Build Coastguard Worker 	if (to == ty) {
2169*ab8db090SAndroid Build Coastguard Worker 	  /* no type cast needed */
2170*ab8db090SAndroid Build Coastguard Worker 	  if (ptr) *ptr = vptr;
2171*ab8db090SAndroid Build Coastguard Worker 	  break;
2172*ab8db090SAndroid Build Coastguard Worker 	} else {
2173*ab8db090SAndroid Build Coastguard Worker 	  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2174*ab8db090SAndroid Build Coastguard Worker 	  if (!tc) {
2175*ab8db090SAndroid Build Coastguard Worker 	    sobj = (SwigPyObject *)sobj->next;
2176*ab8db090SAndroid Build Coastguard Worker 	  } else {
2177*ab8db090SAndroid Build Coastguard Worker 	    if (ptr) {
2178*ab8db090SAndroid Build Coastguard Worker               int newmemory = 0;
2179*ab8db090SAndroid Build Coastguard Worker               *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2180*ab8db090SAndroid Build Coastguard Worker               if (newmemory == SWIG_CAST_NEW_MEMORY) {
2181*ab8db090SAndroid Build Coastguard Worker                 assert(own);
2182*ab8db090SAndroid Build Coastguard Worker                 if (own)
2183*ab8db090SAndroid Build Coastguard Worker                   *own = *own | SWIG_CAST_NEW_MEMORY;
2184*ab8db090SAndroid Build Coastguard Worker               }
2185*ab8db090SAndroid Build Coastguard Worker             }
2186*ab8db090SAndroid Build Coastguard Worker 	    break;
2187*ab8db090SAndroid Build Coastguard Worker 	  }
2188*ab8db090SAndroid Build Coastguard Worker 	}
2189*ab8db090SAndroid Build Coastguard Worker       } else {
2190*ab8db090SAndroid Build Coastguard Worker 	if (ptr) *ptr = vptr;
2191*ab8db090SAndroid Build Coastguard Worker 	break;
2192*ab8db090SAndroid Build Coastguard Worker       }
2193*ab8db090SAndroid Build Coastguard Worker     }
2194*ab8db090SAndroid Build Coastguard Worker     if (sobj) {
2195*ab8db090SAndroid Build Coastguard Worker       if (own)
2196*ab8db090SAndroid Build Coastguard Worker         *own = *own | sobj->own;
2197*ab8db090SAndroid Build Coastguard Worker       if (flags & SWIG_POINTER_DISOWN) {
2198*ab8db090SAndroid Build Coastguard Worker 	sobj->own = 0;
2199*ab8db090SAndroid Build Coastguard Worker       }
2200*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
2201*ab8db090SAndroid Build Coastguard Worker     } else {
2202*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ERROR;
2203*ab8db090SAndroid Build Coastguard Worker       if (flags & SWIG_POINTER_IMPLICIT_CONV) {
2204*ab8db090SAndroid Build Coastguard Worker 	SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
2205*ab8db090SAndroid Build Coastguard Worker 	if (data && !data->implicitconv) {
2206*ab8db090SAndroid Build Coastguard Worker 	  PyObject *klass = data->klass;
2207*ab8db090SAndroid Build Coastguard Worker 	  if (klass) {
2208*ab8db090SAndroid Build Coastguard Worker 	    PyObject *impconv;
2209*ab8db090SAndroid Build Coastguard Worker 	    data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2210*ab8db090SAndroid Build Coastguard Worker 	    impconv = SWIG_Python_CallFunctor(klass, obj);
2211*ab8db090SAndroid Build Coastguard Worker 	    data->implicitconv = 0;
2212*ab8db090SAndroid Build Coastguard Worker 	    if (PyErr_Occurred()) {
2213*ab8db090SAndroid Build Coastguard Worker 	      PyErr_Clear();
2214*ab8db090SAndroid Build Coastguard Worker 	      impconv = 0;
2215*ab8db090SAndroid Build Coastguard Worker 	    }
2216*ab8db090SAndroid Build Coastguard Worker 	    if (impconv) {
2217*ab8db090SAndroid Build Coastguard Worker 	      SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
2218*ab8db090SAndroid Build Coastguard Worker 	      if (iobj) {
2219*ab8db090SAndroid Build Coastguard Worker 		void *vptr;
2220*ab8db090SAndroid Build Coastguard Worker 		res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2221*ab8db090SAndroid Build Coastguard Worker 		if (SWIG_IsOK(res)) {
2222*ab8db090SAndroid Build Coastguard Worker 		  if (ptr) {
2223*ab8db090SAndroid Build Coastguard Worker 		    *ptr = vptr;
2224*ab8db090SAndroid Build Coastguard Worker 		    /* transfer the ownership to 'ptr' */
2225*ab8db090SAndroid Build Coastguard Worker 		    iobj->own = 0;
2226*ab8db090SAndroid Build Coastguard Worker 		    res = SWIG_AddCast(res);
2227*ab8db090SAndroid Build Coastguard Worker 		    res = SWIG_AddNewMask(res);
2228*ab8db090SAndroid Build Coastguard Worker 		  } else {
2229*ab8db090SAndroid Build Coastguard Worker 		    res = SWIG_AddCast(res);
2230*ab8db090SAndroid Build Coastguard Worker 		  }
2231*ab8db090SAndroid Build Coastguard Worker 		}
2232*ab8db090SAndroid Build Coastguard Worker 	      }
2233*ab8db090SAndroid Build Coastguard Worker 	      Py_DECREF(impconv);
2234*ab8db090SAndroid Build Coastguard Worker 	    }
2235*ab8db090SAndroid Build Coastguard Worker 	  }
2236*ab8db090SAndroid Build Coastguard Worker 	}
2237*ab8db090SAndroid Build Coastguard Worker       }
2238*ab8db090SAndroid Build Coastguard Worker       return res;
2239*ab8db090SAndroid Build Coastguard Worker     }
2240*ab8db090SAndroid Build Coastguard Worker   }
2241*ab8db090SAndroid Build Coastguard Worker }
2242*ab8db090SAndroid Build Coastguard Worker 
2243*ab8db090SAndroid Build Coastguard Worker /* Convert a function ptr value */
2244*ab8db090SAndroid Build Coastguard Worker 
2245*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_ConvertFunctionPtr(PyObject * obj,void ** ptr,swig_type_info * ty)2246*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2247*ab8db090SAndroid Build Coastguard Worker   if (!PyCFunction_Check(obj)) {
2248*ab8db090SAndroid Build Coastguard Worker     return SWIG_ConvertPtr(obj, ptr, ty, 0);
2249*ab8db090SAndroid Build Coastguard Worker   } else {
2250*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
2251*ab8db090SAndroid Build Coastguard Worker 
2252*ab8db090SAndroid Build Coastguard Worker     /* here we get the method pointer for callbacks */
2253*ab8db090SAndroid Build Coastguard Worker     const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2254*ab8db090SAndroid Build Coastguard Worker     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2255*ab8db090SAndroid Build Coastguard Worker     if (desc)
2256*ab8db090SAndroid Build Coastguard Worker       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2257*ab8db090SAndroid Build Coastguard Worker     if (!desc)
2258*ab8db090SAndroid Build Coastguard Worker       return SWIG_ERROR;
2259*ab8db090SAndroid Build Coastguard Worker     if (ty) {
2260*ab8db090SAndroid Build Coastguard Worker       swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
2261*ab8db090SAndroid Build Coastguard Worker       if (tc) {
2262*ab8db090SAndroid Build Coastguard Worker         int newmemory = 0;
2263*ab8db090SAndroid Build Coastguard Worker         *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2264*ab8db090SAndroid Build Coastguard Worker         assert(!newmemory); /* newmemory handling not yet implemented */
2265*ab8db090SAndroid Build Coastguard Worker       } else {
2266*ab8db090SAndroid Build Coastguard Worker         return SWIG_ERROR;
2267*ab8db090SAndroid Build Coastguard Worker       }
2268*ab8db090SAndroid Build Coastguard Worker     } else {
2269*ab8db090SAndroid Build Coastguard Worker       *ptr = vptr;
2270*ab8db090SAndroid Build Coastguard Worker     }
2271*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
2272*ab8db090SAndroid Build Coastguard Worker   }
2273*ab8db090SAndroid Build Coastguard Worker }
2274*ab8db090SAndroid Build Coastguard Worker 
2275*ab8db090SAndroid Build Coastguard Worker /* Convert a packed value value */
2276*ab8db090SAndroid Build Coastguard Worker 
2277*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_ConvertPacked(PyObject * obj,void * ptr,size_t sz,swig_type_info * ty)2278*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2279*ab8db090SAndroid Build Coastguard Worker   swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
2280*ab8db090SAndroid Build Coastguard Worker   if (!to) return SWIG_ERROR;
2281*ab8db090SAndroid Build Coastguard Worker   if (ty) {
2282*ab8db090SAndroid Build Coastguard Worker     if (to != ty) {
2283*ab8db090SAndroid Build Coastguard Worker       /* check type cast? */
2284*ab8db090SAndroid Build Coastguard Worker       swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2285*ab8db090SAndroid Build Coastguard Worker       if (!tc) return SWIG_ERROR;
2286*ab8db090SAndroid Build Coastguard Worker     }
2287*ab8db090SAndroid Build Coastguard Worker   }
2288*ab8db090SAndroid Build Coastguard Worker   return SWIG_OK;
2289*ab8db090SAndroid Build Coastguard Worker }
2290*ab8db090SAndroid Build Coastguard Worker 
2291*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
2292*ab8db090SAndroid Build Coastguard Worker  * Create a new pointer object
2293*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
2294*ab8db090SAndroid Build Coastguard Worker 
2295*ab8db090SAndroid Build Coastguard Worker /*
2296*ab8db090SAndroid Build Coastguard Worker   Create a new instance object, without calling __init__, and set the
2297*ab8db090SAndroid Build Coastguard Worker   'this' attribute.
2298*ab8db090SAndroid Build Coastguard Worker */
2299*ab8db090SAndroid Build Coastguard Worker 
2300*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject*
SWIG_Python_NewShadowInstance(SwigPyClientData * data,PyObject * swig_this)2301*ab8db090SAndroid Build Coastguard Worker SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
2302*ab8db090SAndroid Build Coastguard Worker {
2303*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX >= 0x02020000)
2304*ab8db090SAndroid Build Coastguard Worker   PyObject *inst = 0;
2305*ab8db090SAndroid Build Coastguard Worker   PyObject *newraw = data->newraw;
2306*ab8db090SAndroid Build Coastguard Worker   if (newraw) {
2307*ab8db090SAndroid Build Coastguard Worker     inst = PyObject_Call(newraw, data->newargs, NULL);
2308*ab8db090SAndroid Build Coastguard Worker     if (inst) {
2309*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2310*ab8db090SAndroid Build Coastguard Worker       PyObject **dictptr = _PyObject_GetDictPtr(inst);
2311*ab8db090SAndroid Build Coastguard Worker       if (dictptr != NULL) {
2312*ab8db090SAndroid Build Coastguard Worker 	PyObject *dict = *dictptr;
2313*ab8db090SAndroid Build Coastguard Worker 	if (dict == NULL) {
2314*ab8db090SAndroid Build Coastguard Worker 	  dict = PyDict_New();
2315*ab8db090SAndroid Build Coastguard Worker 	  *dictptr = dict;
2316*ab8db090SAndroid Build Coastguard Worker 	  PyDict_SetItem(dict, SWIG_This(), swig_this);
2317*ab8db090SAndroid Build Coastguard Worker 	}
2318*ab8db090SAndroid Build Coastguard Worker       }
2319*ab8db090SAndroid Build Coastguard Worker #else
2320*ab8db090SAndroid Build Coastguard Worker       PyObject *key = SWIG_This();
2321*ab8db090SAndroid Build Coastguard Worker       PyObject_SetAttr(inst, key, swig_this);
2322*ab8db090SAndroid Build Coastguard Worker #endif
2323*ab8db090SAndroid Build Coastguard Worker     }
2324*ab8db090SAndroid Build Coastguard Worker   } else {
2325*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
2326*ab8db090SAndroid Build Coastguard Worker     inst = PyBaseObject_Type.tp_new((PyTypeObject*) data->newargs, Py_None, Py_None);
2327*ab8db090SAndroid Build Coastguard Worker     PyObject_SetAttr(inst, SWIG_This(), swig_this);
2328*ab8db090SAndroid Build Coastguard Worker     Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
2329*ab8db090SAndroid Build Coastguard Worker #else
2330*ab8db090SAndroid Build Coastguard Worker     PyObject *dict = PyDict_New();
2331*ab8db090SAndroid Build Coastguard Worker     PyDict_SetItem(dict, SWIG_This(), swig_this);
2332*ab8db090SAndroid Build Coastguard Worker     inst = PyInstance_NewRaw(data->newargs, dict);
2333*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(dict);
2334*ab8db090SAndroid Build Coastguard Worker #endif
2335*ab8db090SAndroid Build Coastguard Worker   }
2336*ab8db090SAndroid Build Coastguard Worker   return inst;
2337*ab8db090SAndroid Build Coastguard Worker #else
2338*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX >= 0x02010000)
2339*ab8db090SAndroid Build Coastguard Worker   PyObject *inst;
2340*ab8db090SAndroid Build Coastguard Worker   PyObject *dict = PyDict_New();
2341*ab8db090SAndroid Build Coastguard Worker   PyDict_SetItem(dict, SWIG_This(), swig_this);
2342*ab8db090SAndroid Build Coastguard Worker   inst = PyInstance_NewRaw(data->newargs, dict);
2343*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(dict);
2344*ab8db090SAndroid Build Coastguard Worker   return (PyObject *) inst;
2345*ab8db090SAndroid Build Coastguard Worker #else
2346*ab8db090SAndroid Build Coastguard Worker   PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
2347*ab8db090SAndroid Build Coastguard Worker   if (inst == NULL) {
2348*ab8db090SAndroid Build Coastguard Worker     return NULL;
2349*ab8db090SAndroid Build Coastguard Worker   }
2350*ab8db090SAndroid Build Coastguard Worker   inst->in_class = (PyClassObject *)data->newargs;
2351*ab8db090SAndroid Build Coastguard Worker   Py_INCREF(inst->in_class);
2352*ab8db090SAndroid Build Coastguard Worker   inst->in_dict = PyDict_New();
2353*ab8db090SAndroid Build Coastguard Worker   if (inst->in_dict == NULL) {
2354*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(inst);
2355*ab8db090SAndroid Build Coastguard Worker     return NULL;
2356*ab8db090SAndroid Build Coastguard Worker   }
2357*ab8db090SAndroid Build Coastguard Worker #ifdef Py_TPFLAGS_HAVE_WEAKREFS
2358*ab8db090SAndroid Build Coastguard Worker   inst->in_weakreflist = NULL;
2359*ab8db090SAndroid Build Coastguard Worker #endif
2360*ab8db090SAndroid Build Coastguard Worker #ifdef Py_TPFLAGS_GC
2361*ab8db090SAndroid Build Coastguard Worker   PyObject_GC_Init(inst);
2362*ab8db090SAndroid Build Coastguard Worker #endif
2363*ab8db090SAndroid Build Coastguard Worker   PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
2364*ab8db090SAndroid Build Coastguard Worker   return (PyObject *) inst;
2365*ab8db090SAndroid Build Coastguard Worker #endif
2366*ab8db090SAndroid Build Coastguard Worker #endif
2367*ab8db090SAndroid Build Coastguard Worker }
2368*ab8db090SAndroid Build Coastguard Worker 
2369*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Python_SetSwigThis(PyObject * inst,PyObject * swig_this)2370*ab8db090SAndroid Build Coastguard Worker SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2371*ab8db090SAndroid Build Coastguard Worker {
2372*ab8db090SAndroid Build Coastguard Worker  PyObject *dict;
2373*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2374*ab8db090SAndroid Build Coastguard Worker  PyObject **dictptr = _PyObject_GetDictPtr(inst);
2375*ab8db090SAndroid Build Coastguard Worker  if (dictptr != NULL) {
2376*ab8db090SAndroid Build Coastguard Worker    dict = *dictptr;
2377*ab8db090SAndroid Build Coastguard Worker    if (dict == NULL) {
2378*ab8db090SAndroid Build Coastguard Worker      dict = PyDict_New();
2379*ab8db090SAndroid Build Coastguard Worker      *dictptr = dict;
2380*ab8db090SAndroid Build Coastguard Worker    }
2381*ab8db090SAndroid Build Coastguard Worker    PyDict_SetItem(dict, SWIG_This(), swig_this);
2382*ab8db090SAndroid Build Coastguard Worker    return;
2383*ab8db090SAndroid Build Coastguard Worker  }
2384*ab8db090SAndroid Build Coastguard Worker #endif
2385*ab8db090SAndroid Build Coastguard Worker  dict = PyObject_GetAttrString(inst, (char*)"__dict__");
2386*ab8db090SAndroid Build Coastguard Worker  PyDict_SetItem(dict, SWIG_This(), swig_this);
2387*ab8db090SAndroid Build Coastguard Worker  Py_DECREF(dict);
2388*ab8db090SAndroid Build Coastguard Worker }
2389*ab8db090SAndroid Build Coastguard Worker 
2390*ab8db090SAndroid Build Coastguard Worker 
2391*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *
SWIG_Python_InitShadowInstance(PyObject * args)2392*ab8db090SAndroid Build Coastguard Worker SWIG_Python_InitShadowInstance(PyObject *args) {
2393*ab8db090SAndroid Build Coastguard Worker   PyObject *obj[2];
2394*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
2395*ab8db090SAndroid Build Coastguard Worker     return NULL;
2396*ab8db090SAndroid Build Coastguard Worker   } else {
2397*ab8db090SAndroid Build Coastguard Worker     SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2398*ab8db090SAndroid Build Coastguard Worker     if (sthis) {
2399*ab8db090SAndroid Build Coastguard Worker       SwigPyObject_append((PyObject*) sthis, obj[1]);
2400*ab8db090SAndroid Build Coastguard Worker     } else {
2401*ab8db090SAndroid Build Coastguard Worker       SWIG_Python_SetSwigThis(obj[0], obj[1]);
2402*ab8db090SAndroid Build Coastguard Worker     }
2403*ab8db090SAndroid Build Coastguard Worker     return SWIG_Py_Void();
2404*ab8db090SAndroid Build Coastguard Worker   }
2405*ab8db090SAndroid Build Coastguard Worker }
2406*ab8db090SAndroid Build Coastguard Worker 
2407*ab8db090SAndroid Build Coastguard Worker /* Create a new pointer object */
2408*ab8db090SAndroid Build Coastguard Worker 
2409*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SWIG_Python_NewPointerObj(void * ptr,swig_type_info * type,int flags)2410*ab8db090SAndroid Build Coastguard Worker SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
2411*ab8db090SAndroid Build Coastguard Worker   if (!ptr) {
2412*ab8db090SAndroid Build Coastguard Worker     return SWIG_Py_Void();
2413*ab8db090SAndroid Build Coastguard Worker   } else {
2414*ab8db090SAndroid Build Coastguard Worker     int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
2415*ab8db090SAndroid Build Coastguard Worker     PyObject *robj = SwigPyObject_New(ptr, type, own);
2416*ab8db090SAndroid Build Coastguard Worker     SwigPyClientData *clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0;
2417*ab8db090SAndroid Build Coastguard Worker     if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
2418*ab8db090SAndroid Build Coastguard Worker       PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2419*ab8db090SAndroid Build Coastguard Worker       if (inst) {
2420*ab8db090SAndroid Build Coastguard Worker 	Py_DECREF(robj);
2421*ab8db090SAndroid Build Coastguard Worker 	robj = inst;
2422*ab8db090SAndroid Build Coastguard Worker       }
2423*ab8db090SAndroid Build Coastguard Worker     }
2424*ab8db090SAndroid Build Coastguard Worker     return robj;
2425*ab8db090SAndroid Build Coastguard Worker   }
2426*ab8db090SAndroid Build Coastguard Worker }
2427*ab8db090SAndroid Build Coastguard Worker 
2428*ab8db090SAndroid Build Coastguard Worker /* Create a new packed object */
2429*ab8db090SAndroid Build Coastguard Worker 
2430*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE PyObject *
SWIG_Python_NewPackedObj(void * ptr,size_t sz,swig_type_info * type)2431*ab8db090SAndroid Build Coastguard Worker SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2432*ab8db090SAndroid Build Coastguard Worker   return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2433*ab8db090SAndroid Build Coastguard Worker }
2434*ab8db090SAndroid Build Coastguard Worker 
2435*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------*
2436*ab8db090SAndroid Build Coastguard Worker  *  Get type list
2437*ab8db090SAndroid Build Coastguard Worker  * -----------------------------------------------------------------------------*/
2438*ab8db090SAndroid Build Coastguard Worker 
2439*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_LINK_RUNTIME
2440*ab8db090SAndroid Build Coastguard Worker void *SWIG_ReturnGlobalTypeList(void *);
2441*ab8db090SAndroid Build Coastguard Worker #endif
2442*ab8db090SAndroid Build Coastguard Worker 
2443*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_module_info *
SWIG_Python_GetModule(void)2444*ab8db090SAndroid Build Coastguard Worker SWIG_Python_GetModule(void) {
2445*ab8db090SAndroid Build Coastguard Worker   static void *type_pointer = (void *)0;
2446*ab8db090SAndroid Build Coastguard Worker   /* first check if module already created */
2447*ab8db090SAndroid Build Coastguard Worker   if (!type_pointer) {
2448*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_LINK_RUNTIME
2449*ab8db090SAndroid Build Coastguard Worker     type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2450*ab8db090SAndroid Build Coastguard Worker #else
2451*ab8db090SAndroid Build Coastguard Worker     type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2452*ab8db090SAndroid Build Coastguard Worker 				    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
2453*ab8db090SAndroid Build Coastguard Worker     if (PyErr_Occurred()) {
2454*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
2455*ab8db090SAndroid Build Coastguard Worker       type_pointer = (void *)0;
2456*ab8db090SAndroid Build Coastguard Worker     }
2457*ab8db090SAndroid Build Coastguard Worker #endif
2458*ab8db090SAndroid Build Coastguard Worker   }
2459*ab8db090SAndroid Build Coastguard Worker   return (swig_module_info *) type_pointer;
2460*ab8db090SAndroid Build Coastguard Worker }
2461*ab8db090SAndroid Build Coastguard Worker 
2462*ab8db090SAndroid Build Coastguard Worker #if PY_MAJOR_VERSION < 2
2463*ab8db090SAndroid Build Coastguard Worker /* PyModule_AddObject function was introduced in Python 2.0.  The following function
2464*ab8db090SAndroid Build Coastguard Worker    is copied out of Python/modsupport.c in python version 2.3.4 */
2465*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
PyModule_AddObject(PyObject * m,char * name,PyObject * o)2466*ab8db090SAndroid Build Coastguard Worker PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2467*ab8db090SAndroid Build Coastguard Worker {
2468*ab8db090SAndroid Build Coastguard Worker   PyObject *dict;
2469*ab8db090SAndroid Build Coastguard Worker   if (!PyModule_Check(m)) {
2470*ab8db090SAndroid Build Coastguard Worker     PyErr_SetString(PyExc_TypeError,
2471*ab8db090SAndroid Build Coastguard Worker 		    "PyModule_AddObject() needs module as first arg");
2472*ab8db090SAndroid Build Coastguard Worker     return SWIG_ERROR;
2473*ab8db090SAndroid Build Coastguard Worker   }
2474*ab8db090SAndroid Build Coastguard Worker   if (!o) {
2475*ab8db090SAndroid Build Coastguard Worker     PyErr_SetString(PyExc_TypeError,
2476*ab8db090SAndroid Build Coastguard Worker 		    "PyModule_AddObject() needs non-NULL value");
2477*ab8db090SAndroid Build Coastguard Worker     return SWIG_ERROR;
2478*ab8db090SAndroid Build Coastguard Worker   }
2479*ab8db090SAndroid Build Coastguard Worker 
2480*ab8db090SAndroid Build Coastguard Worker   dict = PyModule_GetDict(m);
2481*ab8db090SAndroid Build Coastguard Worker   if (dict == NULL) {
2482*ab8db090SAndroid Build Coastguard Worker     /* Internal error -- modules must have a dict! */
2483*ab8db090SAndroid Build Coastguard Worker     PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2484*ab8db090SAndroid Build Coastguard Worker 		 PyModule_GetName(m));
2485*ab8db090SAndroid Build Coastguard Worker     return SWIG_ERROR;
2486*ab8db090SAndroid Build Coastguard Worker   }
2487*ab8db090SAndroid Build Coastguard Worker   if (PyDict_SetItemString(dict, name, o))
2488*ab8db090SAndroid Build Coastguard Worker     return SWIG_ERROR;
2489*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(o);
2490*ab8db090SAndroid Build Coastguard Worker   return SWIG_OK;
2491*ab8db090SAndroid Build Coastguard Worker }
2492*ab8db090SAndroid Build Coastguard Worker #endif
2493*ab8db090SAndroid Build Coastguard Worker 
2494*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Python_DestroyModule(void * vptr)2495*ab8db090SAndroid Build Coastguard Worker SWIG_Python_DestroyModule(void *vptr)
2496*ab8db090SAndroid Build Coastguard Worker {
2497*ab8db090SAndroid Build Coastguard Worker   swig_module_info *swig_module = (swig_module_info *) vptr;
2498*ab8db090SAndroid Build Coastguard Worker   swig_type_info **types = swig_module->types;
2499*ab8db090SAndroid Build Coastguard Worker   size_t i;
2500*ab8db090SAndroid Build Coastguard Worker   for (i =0; i < swig_module->size; ++i) {
2501*ab8db090SAndroid Build Coastguard Worker     swig_type_info *ty = types[i];
2502*ab8db090SAndroid Build Coastguard Worker     if (ty->owndata) {
2503*ab8db090SAndroid Build Coastguard Worker       SwigPyClientData *data = (SwigPyClientData *) ty->clientdata;
2504*ab8db090SAndroid Build Coastguard Worker       if (data) SwigPyClientData_Del(data);
2505*ab8db090SAndroid Build Coastguard Worker     }
2506*ab8db090SAndroid Build Coastguard Worker   }
2507*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(SWIG_This());
2508*ab8db090SAndroid Build Coastguard Worker }
2509*ab8db090SAndroid Build Coastguard Worker 
2510*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Python_SetModule(swig_module_info * swig_module)2511*ab8db090SAndroid Build Coastguard Worker SWIG_Python_SetModule(swig_module_info *swig_module) {
2512*ab8db090SAndroid Build Coastguard Worker   static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
2513*ab8db090SAndroid Build Coastguard Worker 
2514*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
2515*ab8db090SAndroid Build Coastguard Worker  /* Add a dummy module object into sys.modules */
2516*ab8db090SAndroid Build Coastguard Worker   PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION);
2517*ab8db090SAndroid Build Coastguard Worker #else
2518*ab8db090SAndroid Build Coastguard Worker   PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2519*ab8db090SAndroid Build Coastguard Worker 				   swig_empty_runtime_method_table);
2520*ab8db090SAndroid Build Coastguard Worker #endif
2521*ab8db090SAndroid Build Coastguard Worker   PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
2522*ab8db090SAndroid Build Coastguard Worker   if (pointer && module) {
2523*ab8db090SAndroid Build Coastguard Worker     PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2524*ab8db090SAndroid Build Coastguard Worker   } else {
2525*ab8db090SAndroid Build Coastguard Worker     Py_XDECREF(pointer);
2526*ab8db090SAndroid Build Coastguard Worker   }
2527*ab8db090SAndroid Build Coastguard Worker }
2528*ab8db090SAndroid Build Coastguard Worker 
2529*ab8db090SAndroid Build Coastguard Worker /* The python cached type query */
2530*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME PyObject *
SWIG_Python_TypeCache(void)2531*ab8db090SAndroid Build Coastguard Worker SWIG_Python_TypeCache(void) {
2532*ab8db090SAndroid Build Coastguard Worker   static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2533*ab8db090SAndroid Build Coastguard Worker   return cache;
2534*ab8db090SAndroid Build Coastguard Worker }
2535*ab8db090SAndroid Build Coastguard Worker 
2536*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME swig_type_info *
SWIG_Python_TypeQuery(const char * type)2537*ab8db090SAndroid Build Coastguard Worker SWIG_Python_TypeQuery(const char *type)
2538*ab8db090SAndroid Build Coastguard Worker {
2539*ab8db090SAndroid Build Coastguard Worker   PyObject *cache = SWIG_Python_TypeCache();
2540*ab8db090SAndroid Build Coastguard Worker   PyObject *key = SWIG_Python_str_FromChar(type);
2541*ab8db090SAndroid Build Coastguard Worker   PyObject *obj = PyDict_GetItem(cache, key);
2542*ab8db090SAndroid Build Coastguard Worker   swig_type_info *descriptor;
2543*ab8db090SAndroid Build Coastguard Worker   if (obj) {
2544*ab8db090SAndroid Build Coastguard Worker     descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
2545*ab8db090SAndroid Build Coastguard Worker   } else {
2546*ab8db090SAndroid Build Coastguard Worker     swig_module_info *swig_module = SWIG_Python_GetModule();
2547*ab8db090SAndroid Build Coastguard Worker     descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2548*ab8db090SAndroid Build Coastguard Worker     if (descriptor) {
2549*ab8db090SAndroid Build Coastguard Worker       obj = PyCObject_FromVoidPtr(descriptor, NULL);
2550*ab8db090SAndroid Build Coastguard Worker       PyDict_SetItem(cache, key, obj);
2551*ab8db090SAndroid Build Coastguard Worker       Py_DECREF(obj);
2552*ab8db090SAndroid Build Coastguard Worker     }
2553*ab8db090SAndroid Build Coastguard Worker   }
2554*ab8db090SAndroid Build Coastguard Worker   Py_DECREF(key);
2555*ab8db090SAndroid Build Coastguard Worker   return descriptor;
2556*ab8db090SAndroid Build Coastguard Worker }
2557*ab8db090SAndroid Build Coastguard Worker 
2558*ab8db090SAndroid Build Coastguard Worker /*
2559*ab8db090SAndroid Build Coastguard Worker    For backward compatibility only
2560*ab8db090SAndroid Build Coastguard Worker */
2561*ab8db090SAndroid Build Coastguard Worker #define SWIG_POINTER_EXCEPTION  0
2562*ab8db090SAndroid Build Coastguard Worker #define SWIG_arg_fail(arg)      SWIG_Python_ArgFail(arg)
2563*ab8db090SAndroid Build Coastguard Worker #define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags)
2564*ab8db090SAndroid Build Coastguard Worker 
2565*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_AddErrMesg(const char * mesg,int infront)2566*ab8db090SAndroid Build Coastguard Worker SWIG_Python_AddErrMesg(const char* mesg, int infront)
2567*ab8db090SAndroid Build Coastguard Worker {
2568*ab8db090SAndroid Build Coastguard Worker   if (PyErr_Occurred()) {
2569*ab8db090SAndroid Build Coastguard Worker     PyObject *type = 0;
2570*ab8db090SAndroid Build Coastguard Worker     PyObject *value = 0;
2571*ab8db090SAndroid Build Coastguard Worker     PyObject *traceback = 0;
2572*ab8db090SAndroid Build Coastguard Worker     PyErr_Fetch(&type, &value, &traceback);
2573*ab8db090SAndroid Build Coastguard Worker     if (value) {
2574*ab8db090SAndroid Build Coastguard Worker       char *tmp;
2575*ab8db090SAndroid Build Coastguard Worker       PyObject *old_str = PyObject_Str(value);
2576*ab8db090SAndroid Build Coastguard Worker       Py_XINCREF(type);
2577*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
2578*ab8db090SAndroid Build Coastguard Worker       if (infront) {
2579*ab8db090SAndroid Build Coastguard Worker 	PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str));
2580*ab8db090SAndroid Build Coastguard Worker       } else {
2581*ab8db090SAndroid Build Coastguard Worker 	PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
2582*ab8db090SAndroid Build Coastguard Worker       }
2583*ab8db090SAndroid Build Coastguard Worker       SWIG_Python_str_DelForPy3(tmp);
2584*ab8db090SAndroid Build Coastguard Worker       Py_DECREF(old_str);
2585*ab8db090SAndroid Build Coastguard Worker     }
2586*ab8db090SAndroid Build Coastguard Worker     return 1;
2587*ab8db090SAndroid Build Coastguard Worker   } else {
2588*ab8db090SAndroid Build Coastguard Worker     return 0;
2589*ab8db090SAndroid Build Coastguard Worker   }
2590*ab8db090SAndroid Build Coastguard Worker }
2591*ab8db090SAndroid Build Coastguard Worker 
2592*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME int
SWIG_Python_ArgFail(int argnum)2593*ab8db090SAndroid Build Coastguard Worker SWIG_Python_ArgFail(int argnum)
2594*ab8db090SAndroid Build Coastguard Worker {
2595*ab8db090SAndroid Build Coastguard Worker   if (PyErr_Occurred()) {
2596*ab8db090SAndroid Build Coastguard Worker     /* add information about failing argument */
2597*ab8db090SAndroid Build Coastguard Worker     char mesg[256];
2598*ab8db090SAndroid Build Coastguard Worker     PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2599*ab8db090SAndroid Build Coastguard Worker     return SWIG_Python_AddErrMesg(mesg, 1);
2600*ab8db090SAndroid Build Coastguard Worker   } else {
2601*ab8db090SAndroid Build Coastguard Worker     return 0;
2602*ab8db090SAndroid Build Coastguard Worker   }
2603*ab8db090SAndroid Build Coastguard Worker }
2604*ab8db090SAndroid Build Coastguard Worker 
2605*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIMEINLINE const char *
SwigPyObject_GetDesc(PyObject * self)2606*ab8db090SAndroid Build Coastguard Worker SwigPyObject_GetDesc(PyObject *self)
2607*ab8db090SAndroid Build Coastguard Worker {
2608*ab8db090SAndroid Build Coastguard Worker   SwigPyObject *v = (SwigPyObject *)self;
2609*ab8db090SAndroid Build Coastguard Worker   swig_type_info *ty = v ? v->ty : 0;
2610*ab8db090SAndroid Build Coastguard Worker   return ty ? ty->str : (char*)"";
2611*ab8db090SAndroid Build Coastguard Worker }
2612*ab8db090SAndroid Build Coastguard Worker 
2613*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_Python_TypeError(const char * type,PyObject * obj)2614*ab8db090SAndroid Build Coastguard Worker SWIG_Python_TypeError(const char *type, PyObject *obj)
2615*ab8db090SAndroid Build Coastguard Worker {
2616*ab8db090SAndroid Build Coastguard Worker   if (type) {
2617*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_COBJECT_TYPES)
2618*ab8db090SAndroid Build Coastguard Worker     if (obj && SwigPyObject_Check(obj)) {
2619*ab8db090SAndroid Build Coastguard Worker       const char *otype = (const char *) SwigPyObject_GetDesc(obj);
2620*ab8db090SAndroid Build Coastguard Worker       if (otype) {
2621*ab8db090SAndroid Build Coastguard Worker 	PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
2622*ab8db090SAndroid Build Coastguard Worker 		     type, otype);
2623*ab8db090SAndroid Build Coastguard Worker 	return;
2624*ab8db090SAndroid Build Coastguard Worker       }
2625*ab8db090SAndroid Build Coastguard Worker     } else
2626*ab8db090SAndroid Build Coastguard Worker #endif
2627*ab8db090SAndroid Build Coastguard Worker     {
2628*ab8db090SAndroid Build Coastguard Worker       const char *otype = (obj ? obj->ob_type->tp_name : 0);
2629*ab8db090SAndroid Build Coastguard Worker       if (otype) {
2630*ab8db090SAndroid Build Coastguard Worker 	PyObject *str = PyObject_Str(obj);
2631*ab8db090SAndroid Build Coastguard Worker 	const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0;
2632*ab8db090SAndroid Build Coastguard Worker 	if (cstr) {
2633*ab8db090SAndroid Build Coastguard Worker 	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2634*ab8db090SAndroid Build Coastguard Worker 		       type, otype, cstr);
2635*ab8db090SAndroid Build Coastguard Worker           SWIG_Python_str_DelForPy3(cstr);
2636*ab8db090SAndroid Build Coastguard Worker 	} else {
2637*ab8db090SAndroid Build Coastguard Worker 	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2638*ab8db090SAndroid Build Coastguard Worker 		       type, otype);
2639*ab8db090SAndroid Build Coastguard Worker 	}
2640*ab8db090SAndroid Build Coastguard Worker 	Py_XDECREF(str);
2641*ab8db090SAndroid Build Coastguard Worker 	return;
2642*ab8db090SAndroid Build Coastguard Worker       }
2643*ab8db090SAndroid Build Coastguard Worker     }
2644*ab8db090SAndroid Build Coastguard Worker     PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2645*ab8db090SAndroid Build Coastguard Worker   } else {
2646*ab8db090SAndroid Build Coastguard Worker     PyErr_Format(PyExc_TypeError, "unexpected type is received");
2647*ab8db090SAndroid Build Coastguard Worker   }
2648*ab8db090SAndroid Build Coastguard Worker }
2649*ab8db090SAndroid Build Coastguard Worker 
2650*ab8db090SAndroid Build Coastguard Worker 
2651*ab8db090SAndroid Build Coastguard Worker /* Convert a pointer value, signal an exception on a type mismatch */
2652*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void *
SWIG_Python_MustGetPtr(PyObject * obj,swig_type_info * ty,int argnum,int flags)2653*ab8db090SAndroid Build Coastguard Worker SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
2654*ab8db090SAndroid Build Coastguard Worker   void *result;
2655*ab8db090SAndroid Build Coastguard Worker   if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
2656*ab8db090SAndroid Build Coastguard Worker     PyErr_Clear();
2657*ab8db090SAndroid Build Coastguard Worker #if SWIG_POINTER_EXCEPTION
2658*ab8db090SAndroid Build Coastguard Worker     if (flags) {
2659*ab8db090SAndroid Build Coastguard Worker       SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
2660*ab8db090SAndroid Build Coastguard Worker       SWIG_Python_ArgFail(argnum);
2661*ab8db090SAndroid Build Coastguard Worker     }
2662*ab8db090SAndroid Build Coastguard Worker #endif
2663*ab8db090SAndroid Build Coastguard Worker   }
2664*ab8db090SAndroid Build Coastguard Worker   return result;
2665*ab8db090SAndroid Build Coastguard Worker }
2666*ab8db090SAndroid Build Coastguard Worker 
2667*ab8db090SAndroid Build Coastguard Worker 
2668*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
2669*ab8db090SAndroid Build Coastguard Worker #if 0
2670*ab8db090SAndroid Build Coastguard Worker { /* cc-mode */
2671*ab8db090SAndroid Build Coastguard Worker #endif
2672*ab8db090SAndroid Build Coastguard Worker }
2673*ab8db090SAndroid Build Coastguard Worker #endif
2674*ab8db090SAndroid Build Coastguard Worker 
2675*ab8db090SAndroid Build Coastguard Worker 
2676*ab8db090SAndroid Build Coastguard Worker 
2677*ab8db090SAndroid Build Coastguard Worker #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2678*ab8db090SAndroid Build Coastguard Worker 
2679*ab8db090SAndroid Build Coastguard Worker #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2680*ab8db090SAndroid Build Coastguard Worker 
2681*ab8db090SAndroid Build Coastguard Worker 
2682*ab8db090SAndroid Build Coastguard Worker 
2683*ab8db090SAndroid Build Coastguard Worker   #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
2684*ab8db090SAndroid Build Coastguard Worker 
2685*ab8db090SAndroid Build Coastguard Worker 
2686*ab8db090SAndroid Build Coastguard Worker /* -------- TYPES TABLE (BEGIN) -------- */
2687*ab8db090SAndroid Build Coastguard Worker 
2688*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_char swig_types[0]
2689*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa__Key swig_types[1]
2690*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Agent swig_types[2]
2691*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Key swig_types[3]
2692*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Keyset swig_types[4]
2693*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Query swig_types[5]
2694*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_marisa_swig__Trie swig_types[6]
2695*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_p_char swig_types[7]
2696*ab8db090SAndroid Build Coastguard Worker #define SWIGTYPE_p_std__size_t swig_types[8]
2697*ab8db090SAndroid Build Coastguard Worker static swig_type_info *swig_types[10];
2698*ab8db090SAndroid Build Coastguard Worker static swig_module_info swig_module = {swig_types, 9, 0, 0, 0, 0};
2699*ab8db090SAndroid Build Coastguard Worker #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2700*ab8db090SAndroid Build Coastguard Worker #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2701*ab8db090SAndroid Build Coastguard Worker 
2702*ab8db090SAndroid Build Coastguard Worker /* -------- TYPES TABLE (END) -------- */
2703*ab8db090SAndroid Build Coastguard Worker 
2704*ab8db090SAndroid Build Coastguard Worker #if (PY_VERSION_HEX <= 0x02000000)
2705*ab8db090SAndroid Build Coastguard Worker # if !defined(SWIG_PYTHON_CLASSIC)
2706*ab8db090SAndroid Build Coastguard Worker #  error "This python version requires swig to be run with the '-classic' option"
2707*ab8db090SAndroid Build Coastguard Worker # endif
2708*ab8db090SAndroid Build Coastguard Worker #endif
2709*ab8db090SAndroid Build Coastguard Worker 
2710*ab8db090SAndroid Build Coastguard Worker /*-----------------------------------------------
2711*ab8db090SAndroid Build Coastguard Worker               @(target):= _marisa.so
2712*ab8db090SAndroid Build Coastguard Worker   ------------------------------------------------*/
2713*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
2714*ab8db090SAndroid Build Coastguard Worker #  define SWIG_init    PyInit__marisa
2715*ab8db090SAndroid Build Coastguard Worker 
2716*ab8db090SAndroid Build Coastguard Worker #else
2717*ab8db090SAndroid Build Coastguard Worker #  define SWIG_init    init_marisa
2718*ab8db090SAndroid Build Coastguard Worker 
2719*ab8db090SAndroid Build Coastguard Worker #endif
2720*ab8db090SAndroid Build Coastguard Worker #define SWIG_name    "_marisa"
2721*ab8db090SAndroid Build Coastguard Worker 
2722*ab8db090SAndroid Build Coastguard Worker #define SWIGVERSION 0x010340
2723*ab8db090SAndroid Build Coastguard Worker #define SWIG_VERSION SWIGVERSION
2724*ab8db090SAndroid Build Coastguard Worker 
2725*ab8db090SAndroid Build Coastguard Worker 
2726*ab8db090SAndroid Build Coastguard Worker #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
2727*ab8db090SAndroid Build Coastguard Worker #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
2728*ab8db090SAndroid Build Coastguard Worker 
2729*ab8db090SAndroid Build Coastguard Worker 
2730*ab8db090SAndroid Build Coastguard Worker #include <stdexcept>
2731*ab8db090SAndroid Build Coastguard Worker 
2732*ab8db090SAndroid Build Coastguard Worker 
2733*ab8db090SAndroid Build Coastguard Worker namespace swig {
2734*ab8db090SAndroid Build Coastguard Worker   class SwigPtr_PyObject {
2735*ab8db090SAndroid Build Coastguard Worker   protected:
2736*ab8db090SAndroid Build Coastguard Worker     PyObject *_obj;
2737*ab8db090SAndroid Build Coastguard Worker 
2738*ab8db090SAndroid Build Coastguard Worker   public:
SwigPtr_PyObject()2739*ab8db090SAndroid Build Coastguard Worker     SwigPtr_PyObject() :_obj(0)
2740*ab8db090SAndroid Build Coastguard Worker     {
2741*ab8db090SAndroid Build Coastguard Worker     }
2742*ab8db090SAndroid Build Coastguard Worker 
SwigPtr_PyObject(const SwigPtr_PyObject & item)2743*ab8db090SAndroid Build Coastguard Worker     SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj)
2744*ab8db090SAndroid Build Coastguard Worker     {
2745*ab8db090SAndroid Build Coastguard Worker       Py_XINCREF(_obj);
2746*ab8db090SAndroid Build Coastguard Worker     }
2747*ab8db090SAndroid Build Coastguard Worker 
SwigPtr_PyObject(PyObject * obj,bool initial_ref=true)2748*ab8db090SAndroid Build Coastguard Worker     SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
2749*ab8db090SAndroid Build Coastguard Worker     {
2750*ab8db090SAndroid Build Coastguard Worker       if (initial_ref) {
2751*ab8db090SAndroid Build Coastguard Worker         Py_XINCREF(_obj);
2752*ab8db090SAndroid Build Coastguard Worker       }
2753*ab8db090SAndroid Build Coastguard Worker     }
2754*ab8db090SAndroid Build Coastguard Worker 
operator =(const SwigPtr_PyObject & item)2755*ab8db090SAndroid Build Coastguard Worker     SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item)
2756*ab8db090SAndroid Build Coastguard Worker     {
2757*ab8db090SAndroid Build Coastguard Worker       Py_XINCREF(item._obj);
2758*ab8db090SAndroid Build Coastguard Worker       Py_XDECREF(_obj);
2759*ab8db090SAndroid Build Coastguard Worker       _obj = item._obj;
2760*ab8db090SAndroid Build Coastguard Worker       return *this;
2761*ab8db090SAndroid Build Coastguard Worker     }
2762*ab8db090SAndroid Build Coastguard Worker 
~SwigPtr_PyObject()2763*ab8db090SAndroid Build Coastguard Worker     ~SwigPtr_PyObject()
2764*ab8db090SAndroid Build Coastguard Worker     {
2765*ab8db090SAndroid Build Coastguard Worker       Py_XDECREF(_obj);
2766*ab8db090SAndroid Build Coastguard Worker     }
2767*ab8db090SAndroid Build Coastguard Worker 
operator PyObject*() const2768*ab8db090SAndroid Build Coastguard Worker     operator PyObject *() const
2769*ab8db090SAndroid Build Coastguard Worker     {
2770*ab8db090SAndroid Build Coastguard Worker       return _obj;
2771*ab8db090SAndroid Build Coastguard Worker     }
2772*ab8db090SAndroid Build Coastguard Worker 
operator ->() const2773*ab8db090SAndroid Build Coastguard Worker     PyObject *operator->() const
2774*ab8db090SAndroid Build Coastguard Worker     {
2775*ab8db090SAndroid Build Coastguard Worker       return _obj;
2776*ab8db090SAndroid Build Coastguard Worker     }
2777*ab8db090SAndroid Build Coastguard Worker   };
2778*ab8db090SAndroid Build Coastguard Worker }
2779*ab8db090SAndroid Build Coastguard Worker 
2780*ab8db090SAndroid Build Coastguard Worker 
2781*ab8db090SAndroid Build Coastguard Worker namespace swig {
2782*ab8db090SAndroid Build Coastguard Worker   struct SwigVar_PyObject : SwigPtr_PyObject {
SwigVar_PyObjectswig::SwigVar_PyObject2783*ab8db090SAndroid Build Coastguard Worker     SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
2784*ab8db090SAndroid Build Coastguard Worker 
operator =swig::SwigVar_PyObject2785*ab8db090SAndroid Build Coastguard Worker     SwigVar_PyObject & operator = (PyObject* obj)
2786*ab8db090SAndroid Build Coastguard Worker     {
2787*ab8db090SAndroid Build Coastguard Worker       Py_XDECREF(_obj);
2788*ab8db090SAndroid Build Coastguard Worker       _obj = obj;
2789*ab8db090SAndroid Build Coastguard Worker       return *this;
2790*ab8db090SAndroid Build Coastguard Worker     }
2791*ab8db090SAndroid Build Coastguard Worker   };
2792*ab8db090SAndroid Build Coastguard Worker }
2793*ab8db090SAndroid Build Coastguard Worker 
2794*ab8db090SAndroid Build Coastguard Worker 
2795*ab8db090SAndroid Build Coastguard Worker #include "marisa-swig.h"
2796*ab8db090SAndroid Build Coastguard Worker 
2797*ab8db090SAndroid Build Coastguard Worker 
2798*ab8db090SAndroid Build Coastguard Worker   #define SWIG_From_long   PyInt_FromLong
2799*ab8db090SAndroid Build Coastguard Worker 
2800*ab8db090SAndroid Build Coastguard Worker 
2801*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject *
SWIG_From_int(int value)2802*ab8db090SAndroid Build Coastguard Worker SWIG_From_int  (int value)
2803*ab8db090SAndroid Build Coastguard Worker {
2804*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_long  (value);
2805*ab8db090SAndroid Build Coastguard Worker }
2806*ab8db090SAndroid Build Coastguard Worker 
2807*ab8db090SAndroid Build Coastguard Worker 
2808*ab8db090SAndroid Build Coastguard Worker SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)2809*ab8db090SAndroid Build Coastguard Worker SWIG_pchar_descriptor(void)
2810*ab8db090SAndroid Build Coastguard Worker {
2811*ab8db090SAndroid Build Coastguard Worker   static int init = 0;
2812*ab8db090SAndroid Build Coastguard Worker   static swig_type_info* info = 0;
2813*ab8db090SAndroid Build Coastguard Worker   if (!init) {
2814*ab8db090SAndroid Build Coastguard Worker     info = SWIG_TypeQuery("_p_char");
2815*ab8db090SAndroid Build Coastguard Worker     init = 1;
2816*ab8db090SAndroid Build Coastguard Worker   }
2817*ab8db090SAndroid Build Coastguard Worker   return info;
2818*ab8db090SAndroid Build Coastguard Worker }
2819*ab8db090SAndroid Build Coastguard Worker 
2820*ab8db090SAndroid Build Coastguard Worker 
2821*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)2822*ab8db090SAndroid Build Coastguard Worker SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2823*ab8db090SAndroid Build Coastguard Worker {
2824*ab8db090SAndroid Build Coastguard Worker   if (carray) {
2825*ab8db090SAndroid Build Coastguard Worker     if (size > INT_MAX) {
2826*ab8db090SAndroid Build Coastguard Worker       swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2827*ab8db090SAndroid Build Coastguard Worker       return pchar_descriptor ?
2828*ab8db090SAndroid Build Coastguard Worker 	SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
2829*ab8db090SAndroid Build Coastguard Worker     } else {
2830*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
2831*ab8db090SAndroid Build Coastguard Worker       return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
2832*ab8db090SAndroid Build Coastguard Worker #else
2833*ab8db090SAndroid Build Coastguard Worker       return PyString_FromStringAndSize(carray, static_cast< int >(size));
2834*ab8db090SAndroid Build Coastguard Worker #endif
2835*ab8db090SAndroid Build Coastguard Worker     }
2836*ab8db090SAndroid Build Coastguard Worker   } else {
2837*ab8db090SAndroid Build Coastguard Worker     return SWIG_Py_Void();
2838*ab8db090SAndroid Build Coastguard Worker   }
2839*ab8db090SAndroid Build Coastguard Worker }
2840*ab8db090SAndroid Build Coastguard Worker 
2841*ab8db090SAndroid Build Coastguard Worker 
2842*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject*
SWIG_From_unsigned_SS_long(unsigned long value)2843*ab8db090SAndroid Build Coastguard Worker SWIG_From_unsigned_SS_long  (unsigned long value)
2844*ab8db090SAndroid Build Coastguard Worker {
2845*ab8db090SAndroid Build Coastguard Worker   return (value > LONG_MAX) ?
2846*ab8db090SAndroid Build Coastguard Worker     PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value));
2847*ab8db090SAndroid Build Coastguard Worker }
2848*ab8db090SAndroid Build Coastguard Worker 
2849*ab8db090SAndroid Build Coastguard Worker 
2850*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject *
SWIG_From_size_t(size_t value)2851*ab8db090SAndroid Build Coastguard Worker SWIG_From_size_t  (size_t value)
2852*ab8db090SAndroid Build Coastguard Worker {
2853*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_unsigned_SS_long  (static_cast< unsigned long >(value));
2854*ab8db090SAndroid Build Coastguard Worker }
2855*ab8db090SAndroid Build Coastguard Worker 
2856*ab8db090SAndroid Build Coastguard Worker 
2857*ab8db090SAndroid Build Coastguard Worker   #define SWIG_From_double   PyFloat_FromDouble
2858*ab8db090SAndroid Build Coastguard Worker 
2859*ab8db090SAndroid Build Coastguard Worker 
2860*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject *
SWIG_From_float(float value)2861*ab8db090SAndroid Build Coastguard Worker SWIG_From_float  (float value)
2862*ab8db090SAndroid Build Coastguard Worker {
2863*ab8db090SAndroid Build Coastguard Worker   return SWIG_From_double  (value);
2864*ab8db090SAndroid Build Coastguard Worker }
2865*ab8db090SAndroid Build Coastguard Worker 
2866*ab8db090SAndroid Build Coastguard Worker 
2867*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsCharPtrAndSize(PyObject * obj,char ** cptr,size_t * psize,int * alloc)2868*ab8db090SAndroid Build Coastguard Worker SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
2869*ab8db090SAndroid Build Coastguard Worker {
2870*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
2871*ab8db090SAndroid Build Coastguard Worker   if (PyUnicode_Check(obj))
2872*ab8db090SAndroid Build Coastguard Worker #else
2873*ab8db090SAndroid Build Coastguard Worker   if (PyString_Check(obj))
2874*ab8db090SAndroid Build Coastguard Worker #endif
2875*ab8db090SAndroid Build Coastguard Worker   {
2876*ab8db090SAndroid Build Coastguard Worker     char *cstr; Py_ssize_t len;
2877*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
2878*ab8db090SAndroid Build Coastguard Worker     if (!alloc && cptr) {
2879*ab8db090SAndroid Build Coastguard Worker         /* We can't allow converting without allocation, since the internal
2880*ab8db090SAndroid Build Coastguard Worker            representation of string in Python 3 is UCS-2/UCS-4 but we require
2881*ab8db090SAndroid Build Coastguard Worker            a UTF-8 representation.
2882*ab8db090SAndroid Build Coastguard Worker            TODO(bhy) More detailed explanation */
2883*ab8db090SAndroid Build Coastguard Worker         return SWIG_RuntimeError;
2884*ab8db090SAndroid Build Coastguard Worker     }
2885*ab8db090SAndroid Build Coastguard Worker     obj = PyUnicode_AsUTF8String(obj);
2886*ab8db090SAndroid Build Coastguard Worker     PyBytes_AsStringAndSize(obj, &cstr, &len);
2887*ab8db090SAndroid Build Coastguard Worker     if(alloc) *alloc = SWIG_NEWOBJ;
2888*ab8db090SAndroid Build Coastguard Worker #else
2889*ab8db090SAndroid Build Coastguard Worker     PyString_AsStringAndSize(obj, &cstr, &len);
2890*ab8db090SAndroid Build Coastguard Worker #endif
2891*ab8db090SAndroid Build Coastguard Worker     if (cptr) {
2892*ab8db090SAndroid Build Coastguard Worker       if (alloc) {
2893*ab8db090SAndroid Build Coastguard Worker 	/*
2894*ab8db090SAndroid Build Coastguard Worker 	   In python the user should not be able to modify the inner
2895*ab8db090SAndroid Build Coastguard Worker 	   string representation. To warranty that, if you define
2896*ab8db090SAndroid Build Coastguard Worker 	   SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
2897*ab8db090SAndroid Build Coastguard Worker 	   buffer is always returned.
2898*ab8db090SAndroid Build Coastguard Worker 
2899*ab8db090SAndroid Build Coastguard Worker 	   The default behavior is just to return the pointer value,
2900*ab8db090SAndroid Build Coastguard Worker 	   so, be careful.
2901*ab8db090SAndroid Build Coastguard Worker 	*/
2902*ab8db090SAndroid Build Coastguard Worker #if defined(SWIG_PYTHON_SAFE_CSTRINGS)
2903*ab8db090SAndroid Build Coastguard Worker 	if (*alloc != SWIG_OLDOBJ)
2904*ab8db090SAndroid Build Coastguard Worker #else
2905*ab8db090SAndroid Build Coastguard Worker 	if (*alloc == SWIG_NEWOBJ)
2906*ab8db090SAndroid Build Coastguard Worker #endif
2907*ab8db090SAndroid Build Coastguard Worker 	  {
2908*ab8db090SAndroid Build Coastguard Worker 	    *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
2909*ab8db090SAndroid Build Coastguard Worker 	    *alloc = SWIG_NEWOBJ;
2910*ab8db090SAndroid Build Coastguard Worker 	  }
2911*ab8db090SAndroid Build Coastguard Worker 	else {
2912*ab8db090SAndroid Build Coastguard Worker 	  *cptr = cstr;
2913*ab8db090SAndroid Build Coastguard Worker 	  *alloc = SWIG_OLDOBJ;
2914*ab8db090SAndroid Build Coastguard Worker 	}
2915*ab8db090SAndroid Build Coastguard Worker       } else {
2916*ab8db090SAndroid Build Coastguard Worker         #if PY_VERSION_HEX>=0x03000000
2917*ab8db090SAndroid Build Coastguard Worker         assert(0); /* Should never reach here in Python 3 */
2918*ab8db090SAndroid Build Coastguard Worker         #endif
2919*ab8db090SAndroid Build Coastguard Worker 	*cptr = SWIG_Python_str_AsChar(obj);
2920*ab8db090SAndroid Build Coastguard Worker       }
2921*ab8db090SAndroid Build Coastguard Worker     }
2922*ab8db090SAndroid Build Coastguard Worker     if (psize) *psize = len + 1;
2923*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX>=0x03000000
2924*ab8db090SAndroid Build Coastguard Worker     Py_XDECREF(obj);
2925*ab8db090SAndroid Build Coastguard Worker #endif
2926*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
2927*ab8db090SAndroid Build Coastguard Worker   } else {
2928*ab8db090SAndroid Build Coastguard Worker     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2929*ab8db090SAndroid Build Coastguard Worker     if (pchar_descriptor) {
2930*ab8db090SAndroid Build Coastguard Worker       void* vptr = 0;
2931*ab8db090SAndroid Build Coastguard Worker       if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2932*ab8db090SAndroid Build Coastguard Worker 	if (cptr) *cptr = (char *) vptr;
2933*ab8db090SAndroid Build Coastguard Worker 	if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
2934*ab8db090SAndroid Build Coastguard Worker 	if (alloc) *alloc = SWIG_OLDOBJ;
2935*ab8db090SAndroid Build Coastguard Worker 	return SWIG_OK;
2936*ab8db090SAndroid Build Coastguard Worker       }
2937*ab8db090SAndroid Build Coastguard Worker     }
2938*ab8db090SAndroid Build Coastguard Worker   }
2939*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
2940*ab8db090SAndroid Build Coastguard Worker }
2941*ab8db090SAndroid Build Coastguard Worker 
2942*ab8db090SAndroid Build Coastguard Worker 
2943*ab8db090SAndroid Build Coastguard Worker #include <float.h>
2944*ab8db090SAndroid Build Coastguard Worker 
2945*ab8db090SAndroid Build Coastguard Worker 
2946*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsVal_double(PyObject * obj,double * val)2947*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_double (PyObject *obj, double *val)
2948*ab8db090SAndroid Build Coastguard Worker {
2949*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_TypeError;
2950*ab8db090SAndroid Build Coastguard Worker   if (PyFloat_Check(obj)) {
2951*ab8db090SAndroid Build Coastguard Worker     if (val) *val = PyFloat_AsDouble(obj);
2952*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
2953*ab8db090SAndroid Build Coastguard Worker   } else if (PyInt_Check(obj)) {
2954*ab8db090SAndroid Build Coastguard Worker     if (val) *val = PyInt_AsLong(obj);
2955*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
2956*ab8db090SAndroid Build Coastguard Worker   } else if (PyLong_Check(obj)) {
2957*ab8db090SAndroid Build Coastguard Worker     double v = PyLong_AsDouble(obj);
2958*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
2959*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
2960*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
2961*ab8db090SAndroid Build Coastguard Worker     } else {
2962*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
2963*ab8db090SAndroid Build Coastguard Worker     }
2964*ab8db090SAndroid Build Coastguard Worker   }
2965*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_PYTHON_CAST_MODE
2966*ab8db090SAndroid Build Coastguard Worker   {
2967*ab8db090SAndroid Build Coastguard Worker     int dispatch = 0;
2968*ab8db090SAndroid Build Coastguard Worker     double d = PyFloat_AsDouble(obj);
2969*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
2970*ab8db090SAndroid Build Coastguard Worker       if (val) *val = d;
2971*ab8db090SAndroid Build Coastguard Worker       return SWIG_AddCast(SWIG_OK);
2972*ab8db090SAndroid Build Coastguard Worker     } else {
2973*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
2974*ab8db090SAndroid Build Coastguard Worker     }
2975*ab8db090SAndroid Build Coastguard Worker     if (!dispatch) {
2976*ab8db090SAndroid Build Coastguard Worker       long v = PyLong_AsLong(obj);
2977*ab8db090SAndroid Build Coastguard Worker       if (!PyErr_Occurred()) {
2978*ab8db090SAndroid Build Coastguard Worker 	if (val) *val = v;
2979*ab8db090SAndroid Build Coastguard Worker 	return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
2980*ab8db090SAndroid Build Coastguard Worker       } else {
2981*ab8db090SAndroid Build Coastguard Worker 	PyErr_Clear();
2982*ab8db090SAndroid Build Coastguard Worker       }
2983*ab8db090SAndroid Build Coastguard Worker     }
2984*ab8db090SAndroid Build Coastguard Worker   }
2985*ab8db090SAndroid Build Coastguard Worker #endif
2986*ab8db090SAndroid Build Coastguard Worker   return res;
2987*ab8db090SAndroid Build Coastguard Worker }
2988*ab8db090SAndroid Build Coastguard Worker 
2989*ab8db090SAndroid Build Coastguard Worker 
2990*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsVal_float(PyObject * obj,float * val)2991*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_float (PyObject * obj, float *val)
2992*ab8db090SAndroid Build Coastguard Worker {
2993*ab8db090SAndroid Build Coastguard Worker   double v;
2994*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_double (obj, &v);
2995*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res)) {
2996*ab8db090SAndroid Build Coastguard Worker     if ((v < -FLT_MAX || v > FLT_MAX)) {
2997*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
2998*ab8db090SAndroid Build Coastguard Worker     } else {
2999*ab8db090SAndroid Build Coastguard Worker       if (val) *val = static_cast< float >(v);
3000*ab8db090SAndroid Build Coastguard Worker     }
3001*ab8db090SAndroid Build Coastguard Worker   }
3002*ab8db090SAndroid Build Coastguard Worker   return res;
3003*ab8db090SAndroid Build Coastguard Worker }
3004*ab8db090SAndroid Build Coastguard Worker 
3005*ab8db090SAndroid Build Coastguard Worker 
3006*ab8db090SAndroid Build Coastguard Worker 
3007*ab8db090SAndroid Build Coastguard Worker 
3008*ab8db090SAndroid Build Coastguard Worker 
3009*ab8db090SAndroid Build Coastguard Worker #include <math.h>
3010*ab8db090SAndroid Build Coastguard Worker 
3011*ab8db090SAndroid Build Coastguard Worker 
3012*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double * d,double min,double max)3013*ab8db090SAndroid Build Coastguard Worker SWIG_CanCastAsInteger(double *d, double min, double max) {
3014*ab8db090SAndroid Build Coastguard Worker   double x = *d;
3015*ab8db090SAndroid Build Coastguard Worker   if ((min <= x && x <= max)) {
3016*ab8db090SAndroid Build Coastguard Worker    double fx = floor(x);
3017*ab8db090SAndroid Build Coastguard Worker    double cx = ceil(x);
3018*ab8db090SAndroid Build Coastguard Worker    double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
3019*ab8db090SAndroid Build Coastguard Worker    if ((errno == EDOM) || (errno == ERANGE)) {
3020*ab8db090SAndroid Build Coastguard Worker      errno = 0;
3021*ab8db090SAndroid Build Coastguard Worker    } else {
3022*ab8db090SAndroid Build Coastguard Worker      double summ, reps, diff;
3023*ab8db090SAndroid Build Coastguard Worker      if (rd < x) {
3024*ab8db090SAndroid Build Coastguard Worker        diff = x - rd;
3025*ab8db090SAndroid Build Coastguard Worker      } else if (rd > x) {
3026*ab8db090SAndroid Build Coastguard Worker        diff = rd - x;
3027*ab8db090SAndroid Build Coastguard Worker      } else {
3028*ab8db090SAndroid Build Coastguard Worker        return 1;
3029*ab8db090SAndroid Build Coastguard Worker      }
3030*ab8db090SAndroid Build Coastguard Worker      summ = rd + x;
3031*ab8db090SAndroid Build Coastguard Worker      reps = diff/summ;
3032*ab8db090SAndroid Build Coastguard Worker      if (reps < 8*DBL_EPSILON) {
3033*ab8db090SAndroid Build Coastguard Worker        *d = rd;
3034*ab8db090SAndroid Build Coastguard Worker        return 1;
3035*ab8db090SAndroid Build Coastguard Worker      }
3036*ab8db090SAndroid Build Coastguard Worker    }
3037*ab8db090SAndroid Build Coastguard Worker   }
3038*ab8db090SAndroid Build Coastguard Worker   return 0;
3039*ab8db090SAndroid Build Coastguard Worker }
3040*ab8db090SAndroid Build Coastguard Worker 
3041*ab8db090SAndroid Build Coastguard Worker 
3042*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsVal_unsigned_SS_long(PyObject * obj,unsigned long * val)3043*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
3044*ab8db090SAndroid Build Coastguard Worker {
3045*ab8db090SAndroid Build Coastguard Worker   if (PyInt_Check(obj)) {
3046*ab8db090SAndroid Build Coastguard Worker     long v = PyInt_AsLong(obj);
3047*ab8db090SAndroid Build Coastguard Worker     if (v >= 0) {
3048*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
3049*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
3050*ab8db090SAndroid Build Coastguard Worker     } else {
3051*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
3052*ab8db090SAndroid Build Coastguard Worker     }
3053*ab8db090SAndroid Build Coastguard Worker   } else if (PyLong_Check(obj)) {
3054*ab8db090SAndroid Build Coastguard Worker     unsigned long v = PyLong_AsUnsignedLong(obj);
3055*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
3056*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
3057*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
3058*ab8db090SAndroid Build Coastguard Worker     } else {
3059*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
3060*ab8db090SAndroid Build Coastguard Worker     }
3061*ab8db090SAndroid Build Coastguard Worker   }
3062*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_PYTHON_CAST_MODE
3063*ab8db090SAndroid Build Coastguard Worker   {
3064*ab8db090SAndroid Build Coastguard Worker     int dispatch = 0;
3065*ab8db090SAndroid Build Coastguard Worker     unsigned long v = PyLong_AsUnsignedLong(obj);
3066*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
3067*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
3068*ab8db090SAndroid Build Coastguard Worker       return SWIG_AddCast(SWIG_OK);
3069*ab8db090SAndroid Build Coastguard Worker     } else {
3070*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
3071*ab8db090SAndroid Build Coastguard Worker     }
3072*ab8db090SAndroid Build Coastguard Worker     if (!dispatch) {
3073*ab8db090SAndroid Build Coastguard Worker       double d;
3074*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
3075*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
3076*ab8db090SAndroid Build Coastguard Worker 	if (val) *val = (unsigned long)(d);
3077*ab8db090SAndroid Build Coastguard Worker 	return res;
3078*ab8db090SAndroid Build Coastguard Worker       }
3079*ab8db090SAndroid Build Coastguard Worker     }
3080*ab8db090SAndroid Build Coastguard Worker   }
3081*ab8db090SAndroid Build Coastguard Worker #endif
3082*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
3083*ab8db090SAndroid Build Coastguard Worker }
3084*ab8db090SAndroid Build Coastguard Worker 
3085*ab8db090SAndroid Build Coastguard Worker 
3086*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE int
SWIG_AsVal_size_t(PyObject * obj,size_t * val)3087*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_size_t (PyObject * obj, size_t *val)
3088*ab8db090SAndroid Build Coastguard Worker {
3089*ab8db090SAndroid Build Coastguard Worker   unsigned long v;
3090*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
3091*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v);
3092*ab8db090SAndroid Build Coastguard Worker   return res;
3093*ab8db090SAndroid Build Coastguard Worker }
3094*ab8db090SAndroid Build Coastguard Worker 
3095*ab8db090SAndroid Build Coastguard Worker 
3096*ab8db090SAndroid Build Coastguard Worker SWIGINTERNINLINE PyObject*
SWIG_From_bool(bool value)3097*ab8db090SAndroid Build Coastguard Worker   SWIG_From_bool  (bool value)
3098*ab8db090SAndroid Build Coastguard Worker {
3099*ab8db090SAndroid Build Coastguard Worker   return PyBool_FromLong(value ? 1 : 0);
3100*ab8db090SAndroid Build Coastguard Worker }
3101*ab8db090SAndroid Build Coastguard Worker 
3102*ab8db090SAndroid Build Coastguard Worker 
3103*ab8db090SAndroid Build Coastguard Worker #include <limits.h>
3104*ab8db090SAndroid Build Coastguard Worker #if !defined(SWIG_NO_LLONG_MAX)
3105*ab8db090SAndroid Build Coastguard Worker # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
3106*ab8db090SAndroid Build Coastguard Worker #   define LLONG_MAX __LONG_LONG_MAX__
3107*ab8db090SAndroid Build Coastguard Worker #   define LLONG_MIN (-LLONG_MAX - 1LL)
3108*ab8db090SAndroid Build Coastguard Worker #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
3109*ab8db090SAndroid Build Coastguard Worker # endif
3110*ab8db090SAndroid Build Coastguard Worker #endif
3111*ab8db090SAndroid Build Coastguard Worker 
3112*ab8db090SAndroid Build Coastguard Worker 
3113*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsVal_long(PyObject * obj,long * val)3114*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_long (PyObject *obj, long* val)
3115*ab8db090SAndroid Build Coastguard Worker {
3116*ab8db090SAndroid Build Coastguard Worker   if (PyInt_Check(obj)) {
3117*ab8db090SAndroid Build Coastguard Worker     if (val) *val = PyInt_AsLong(obj);
3118*ab8db090SAndroid Build Coastguard Worker     return SWIG_OK;
3119*ab8db090SAndroid Build Coastguard Worker   } else if (PyLong_Check(obj)) {
3120*ab8db090SAndroid Build Coastguard Worker     long v = PyLong_AsLong(obj);
3121*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
3122*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
3123*ab8db090SAndroid Build Coastguard Worker       return SWIG_OK;
3124*ab8db090SAndroid Build Coastguard Worker     } else {
3125*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
3126*ab8db090SAndroid Build Coastguard Worker     }
3127*ab8db090SAndroid Build Coastguard Worker   }
3128*ab8db090SAndroid Build Coastguard Worker #ifdef SWIG_PYTHON_CAST_MODE
3129*ab8db090SAndroid Build Coastguard Worker   {
3130*ab8db090SAndroid Build Coastguard Worker     int dispatch = 0;
3131*ab8db090SAndroid Build Coastguard Worker     long v = PyInt_AsLong(obj);
3132*ab8db090SAndroid Build Coastguard Worker     if (!PyErr_Occurred()) {
3133*ab8db090SAndroid Build Coastguard Worker       if (val) *val = v;
3134*ab8db090SAndroid Build Coastguard Worker       return SWIG_AddCast(SWIG_OK);
3135*ab8db090SAndroid Build Coastguard Worker     } else {
3136*ab8db090SAndroid Build Coastguard Worker       PyErr_Clear();
3137*ab8db090SAndroid Build Coastguard Worker     }
3138*ab8db090SAndroid Build Coastguard Worker     if (!dispatch) {
3139*ab8db090SAndroid Build Coastguard Worker       double d;
3140*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
3141*ab8db090SAndroid Build Coastguard Worker       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
3142*ab8db090SAndroid Build Coastguard Worker 	if (val) *val = (long)(d);
3143*ab8db090SAndroid Build Coastguard Worker 	return res;
3144*ab8db090SAndroid Build Coastguard Worker       }
3145*ab8db090SAndroid Build Coastguard Worker     }
3146*ab8db090SAndroid Build Coastguard Worker   }
3147*ab8db090SAndroid Build Coastguard Worker #endif
3148*ab8db090SAndroid Build Coastguard Worker   return SWIG_TypeError;
3149*ab8db090SAndroid Build Coastguard Worker }
3150*ab8db090SAndroid Build Coastguard Worker 
3151*ab8db090SAndroid Build Coastguard Worker 
3152*ab8db090SAndroid Build Coastguard Worker SWIGINTERN int
SWIG_AsVal_int(PyObject * obj,int * val)3153*ab8db090SAndroid Build Coastguard Worker SWIG_AsVal_int (PyObject * obj, int *val)
3154*ab8db090SAndroid Build Coastguard Worker {
3155*ab8db090SAndroid Build Coastguard Worker   long v;
3156*ab8db090SAndroid Build Coastguard Worker   int res = SWIG_AsVal_long (obj, &v);
3157*ab8db090SAndroid Build Coastguard Worker   if (SWIG_IsOK(res)) {
3158*ab8db090SAndroid Build Coastguard Worker     if ((v < INT_MIN || v > INT_MAX)) {
3159*ab8db090SAndroid Build Coastguard Worker       return SWIG_OverflowError;
3160*ab8db090SAndroid Build Coastguard Worker     } else {
3161*ab8db090SAndroid Build Coastguard Worker       if (val) *val = static_cast< int >(v);
3162*ab8db090SAndroid Build Coastguard Worker     }
3163*ab8db090SAndroid Build Coastguard Worker   }
3164*ab8db090SAndroid Build Coastguard Worker   return res;
3165*ab8db090SAndroid Build Coastguard Worker }
3166*ab8db090SAndroid Build Coastguard Worker 
3167*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
3168*ab8db090SAndroid Build Coastguard Worker extern "C" {
3169*ab8db090SAndroid Build Coastguard Worker #endif
_wrap_Key_str(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3170*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Key_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3171*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3172*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
3173*ab8db090SAndroid Build Coastguard Worker   char **arg2 = (char **) 0 ;
3174*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg3 = (std::size_t *) 0 ;
3175*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3176*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3177*ab8db090SAndroid Build Coastguard Worker   char *temp2 = 0 ;
3178*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn2 ;
3179*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3180*ab8db090SAndroid Build Coastguard Worker 
3181*ab8db090SAndroid Build Coastguard Worker   arg2 = &temp2; arg3 = &tempn2;
3182*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Key_str",&obj0)) SWIG_fail;
3183*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
3184*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3185*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_str" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
3186*ab8db090SAndroid Build Coastguard Worker   }
3187*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
3188*ab8db090SAndroid Build Coastguard Worker   {
3189*ab8db090SAndroid Build Coastguard Worker     try {
3190*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Key const *)arg1)->str((char const **)arg2,arg3);
3191*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3192*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3193*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3194*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3195*ab8db090SAndroid Build Coastguard Worker     }
3196*ab8db090SAndroid Build Coastguard Worker   }
3197*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3198*ab8db090SAndroid Build Coastguard Worker   if (*arg2) {
3199*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg2,*arg3));
3200*ab8db090SAndroid Build Coastguard Worker     ;
3201*ab8db090SAndroid Build Coastguard Worker   }
3202*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3203*ab8db090SAndroid Build Coastguard Worker fail:
3204*ab8db090SAndroid Build Coastguard Worker   return NULL;
3205*ab8db090SAndroid Build Coastguard Worker }
3206*ab8db090SAndroid Build Coastguard Worker 
3207*ab8db090SAndroid Build Coastguard Worker 
_wrap_Key_id(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3208*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Key_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3209*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3210*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
3211*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3212*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3213*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3214*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3215*ab8db090SAndroid Build Coastguard Worker 
3216*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Key_id",&obj0)) SWIG_fail;
3217*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
3218*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3219*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_id" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
3220*ab8db090SAndroid Build Coastguard Worker   }
3221*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
3222*ab8db090SAndroid Build Coastguard Worker   {
3223*ab8db090SAndroid Build Coastguard Worker     try {
3224*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Key const *)arg1)->id();
3225*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3226*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3227*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3228*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3229*ab8db090SAndroid Build Coastguard Worker     }
3230*ab8db090SAndroid Build Coastguard Worker   }
3231*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3232*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3233*ab8db090SAndroid Build Coastguard Worker fail:
3234*ab8db090SAndroid Build Coastguard Worker   return NULL;
3235*ab8db090SAndroid Build Coastguard Worker }
3236*ab8db090SAndroid Build Coastguard Worker 
3237*ab8db090SAndroid Build Coastguard Worker 
_wrap_Key_weight(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3238*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Key_weight(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3239*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3240*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
3241*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3242*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3243*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3244*ab8db090SAndroid Build Coastguard Worker   float result;
3245*ab8db090SAndroid Build Coastguard Worker 
3246*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Key_weight",&obj0)) SWIG_fail;
3247*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
3248*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3249*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Key_weight" "', argument " "1"" of type '" "marisa_swig::Key const *""'");
3250*ab8db090SAndroid Build Coastguard Worker   }
3251*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
3252*ab8db090SAndroid Build Coastguard Worker   {
3253*ab8db090SAndroid Build Coastguard Worker     try {
3254*ab8db090SAndroid Build Coastguard Worker       result = (float)((marisa_swig::Key const *)arg1)->weight();
3255*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3256*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3257*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3258*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3259*ab8db090SAndroid Build Coastguard Worker     }
3260*ab8db090SAndroid Build Coastguard Worker   }
3261*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_float(static_cast< float >(result));
3262*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3263*ab8db090SAndroid Build Coastguard Worker fail:
3264*ab8db090SAndroid Build Coastguard Worker   return NULL;
3265*ab8db090SAndroid Build Coastguard Worker }
3266*ab8db090SAndroid Build Coastguard Worker 
3267*ab8db090SAndroid Build Coastguard Worker 
_wrap_delete_Key(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3268*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_delete_Key(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3269*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3270*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *arg1 = (marisa_swig::Key *) 0 ;
3271*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3272*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3273*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3274*ab8db090SAndroid Build Coastguard Worker 
3275*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:delete_Key",&obj0)) SWIG_fail;
3276*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Key, SWIG_POINTER_DISOWN |  0 );
3277*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3278*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Key" "', argument " "1"" of type '" "marisa_swig::Key *""'");
3279*ab8db090SAndroid Build Coastguard Worker   }
3280*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Key * >(argp1);
3281*ab8db090SAndroid Build Coastguard Worker   {
3282*ab8db090SAndroid Build Coastguard Worker     try {
3283*ab8db090SAndroid Build Coastguard Worker       delete arg1;
3284*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3285*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3286*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3287*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3288*ab8db090SAndroid Build Coastguard Worker     }
3289*ab8db090SAndroid Build Coastguard Worker   }
3290*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3291*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3292*ab8db090SAndroid Build Coastguard Worker fail:
3293*ab8db090SAndroid Build Coastguard Worker   return NULL;
3294*ab8db090SAndroid Build Coastguard Worker }
3295*ab8db090SAndroid Build Coastguard Worker 
3296*ab8db090SAndroid Build Coastguard Worker 
Key_swigregister(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3297*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *Key_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3298*ab8db090SAndroid Build Coastguard Worker   PyObject *obj;
3299*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
3300*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeNewClientData(SWIGTYPE_p_marisa_swig__Key, SWIG_NewClientData(obj));
3301*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
3302*ab8db090SAndroid Build Coastguard Worker }
3303*ab8db090SAndroid Build Coastguard Worker 
_wrap_Query_str(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3304*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Query_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3305*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3306*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
3307*ab8db090SAndroid Build Coastguard Worker   char **arg2 = (char **) 0 ;
3308*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg3 = (std::size_t *) 0 ;
3309*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3310*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3311*ab8db090SAndroid Build Coastguard Worker   char *temp2 = 0 ;
3312*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn2 ;
3313*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3314*ab8db090SAndroid Build Coastguard Worker 
3315*ab8db090SAndroid Build Coastguard Worker   arg2 = &temp2; arg3 = &tempn2;
3316*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Query_str",&obj0)) SWIG_fail;
3317*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Query, 0 |  0 );
3318*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3319*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Query_str" "', argument " "1"" of type '" "marisa_swig::Query const *""'");
3320*ab8db090SAndroid Build Coastguard Worker   }
3321*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
3322*ab8db090SAndroid Build Coastguard Worker   {
3323*ab8db090SAndroid Build Coastguard Worker     try {
3324*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Query const *)arg1)->str((char const **)arg2,arg3);
3325*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3326*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3327*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3328*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3329*ab8db090SAndroid Build Coastguard Worker     }
3330*ab8db090SAndroid Build Coastguard Worker   }
3331*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3332*ab8db090SAndroid Build Coastguard Worker   if (*arg2) {
3333*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg2,*arg3));
3334*ab8db090SAndroid Build Coastguard Worker     ;
3335*ab8db090SAndroid Build Coastguard Worker   }
3336*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3337*ab8db090SAndroid Build Coastguard Worker fail:
3338*ab8db090SAndroid Build Coastguard Worker   return NULL;
3339*ab8db090SAndroid Build Coastguard Worker }
3340*ab8db090SAndroid Build Coastguard Worker 
3341*ab8db090SAndroid Build Coastguard Worker 
_wrap_Query_id(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3342*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Query_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3343*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3344*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
3345*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3346*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3347*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3348*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3349*ab8db090SAndroid Build Coastguard Worker 
3350*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Query_id",&obj0)) SWIG_fail;
3351*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Query, 0 |  0 );
3352*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3353*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Query_id" "', argument " "1"" of type '" "marisa_swig::Query const *""'");
3354*ab8db090SAndroid Build Coastguard Worker   }
3355*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
3356*ab8db090SAndroid Build Coastguard Worker   {
3357*ab8db090SAndroid Build Coastguard Worker     try {
3358*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Query const *)arg1)->id();
3359*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3360*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3361*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3362*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3363*ab8db090SAndroid Build Coastguard Worker     }
3364*ab8db090SAndroid Build Coastguard Worker   }
3365*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3366*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3367*ab8db090SAndroid Build Coastguard Worker fail:
3368*ab8db090SAndroid Build Coastguard Worker   return NULL;
3369*ab8db090SAndroid Build Coastguard Worker }
3370*ab8db090SAndroid Build Coastguard Worker 
3371*ab8db090SAndroid Build Coastguard Worker 
_wrap_delete_Query(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3372*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_delete_Query(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3373*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3374*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Query *arg1 = (marisa_swig::Query *) 0 ;
3375*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3376*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3377*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3378*ab8db090SAndroid Build Coastguard Worker 
3379*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:delete_Query",&obj0)) SWIG_fail;
3380*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Query, SWIG_POINTER_DISOWN |  0 );
3381*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3382*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Query" "', argument " "1"" of type '" "marisa_swig::Query *""'");
3383*ab8db090SAndroid Build Coastguard Worker   }
3384*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Query * >(argp1);
3385*ab8db090SAndroid Build Coastguard Worker   {
3386*ab8db090SAndroid Build Coastguard Worker     try {
3387*ab8db090SAndroid Build Coastguard Worker       delete arg1;
3388*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3389*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3390*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3391*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3392*ab8db090SAndroid Build Coastguard Worker     }
3393*ab8db090SAndroid Build Coastguard Worker   }
3394*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3395*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3396*ab8db090SAndroid Build Coastguard Worker fail:
3397*ab8db090SAndroid Build Coastguard Worker   return NULL;
3398*ab8db090SAndroid Build Coastguard Worker }
3399*ab8db090SAndroid Build Coastguard Worker 
3400*ab8db090SAndroid Build Coastguard Worker 
Query_swigregister(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3401*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *Query_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3402*ab8db090SAndroid Build Coastguard Worker   PyObject *obj;
3403*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
3404*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeNewClientData(SWIGTYPE_p_marisa_swig__Query, SWIG_NewClientData(obj));
3405*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
3406*ab8db090SAndroid Build Coastguard Worker }
3407*ab8db090SAndroid Build Coastguard Worker 
_wrap_new_Keyset(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3408*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_new_Keyset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3409*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3410*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *result = 0 ;
3411*ab8db090SAndroid Build Coastguard Worker 
3412*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)":new_Keyset")) SWIG_fail;
3413*ab8db090SAndroid Build Coastguard Worker   {
3414*ab8db090SAndroid Build Coastguard Worker     try {
3415*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Keyset *)new marisa_swig::Keyset();
3416*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3417*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3418*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3419*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3420*ab8db090SAndroid Build Coastguard Worker     }
3421*ab8db090SAndroid Build Coastguard Worker   }
3422*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Keyset, SWIG_POINTER_NEW |  0 );
3423*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3424*ab8db090SAndroid Build Coastguard Worker fail:
3425*ab8db090SAndroid Build Coastguard Worker   return NULL;
3426*ab8db090SAndroid Build Coastguard Worker }
3427*ab8db090SAndroid Build Coastguard Worker 
3428*ab8db090SAndroid Build Coastguard Worker 
_wrap_delete_Keyset(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3429*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_delete_Keyset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3430*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3431*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3432*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3433*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3434*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3435*ab8db090SAndroid Build Coastguard Worker 
3436*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:delete_Keyset",&obj0)) SWIG_fail;
3437*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, SWIG_POINTER_DISOWN |  0 );
3438*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3439*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Keyset" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3440*ab8db090SAndroid Build Coastguard Worker   }
3441*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3442*ab8db090SAndroid Build Coastguard Worker   {
3443*ab8db090SAndroid Build Coastguard Worker     try {
3444*ab8db090SAndroid Build Coastguard Worker       delete arg1;
3445*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3446*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3447*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3448*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3449*ab8db090SAndroid Build Coastguard Worker     }
3450*ab8db090SAndroid Build Coastguard Worker   }
3451*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3452*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3453*ab8db090SAndroid Build Coastguard Worker fail:
3454*ab8db090SAndroid Build Coastguard Worker   return NULL;
3455*ab8db090SAndroid Build Coastguard Worker }
3456*ab8db090SAndroid Build Coastguard Worker 
3457*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_push_back__SWIG_0(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3458*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_push_back__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3459*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3460*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3461*ab8db090SAndroid Build Coastguard Worker   marisa::Key *arg2 = 0 ;
3462*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3463*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3464*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
3465*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
3466*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3467*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3468*ab8db090SAndroid Build Coastguard Worker 
3469*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Keyset_push_back",&obj0,&obj1)) SWIG_fail;
3470*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3471*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3472*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3473*ab8db090SAndroid Build Coastguard Worker   }
3474*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3475*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa__Key,  0  | 0);
3476*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
3477*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "marisa::Key const &""'");
3478*ab8db090SAndroid Build Coastguard Worker   }
3479*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
3480*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Keyset_push_back" "', argument " "2"" of type '" "marisa::Key const &""'");
3481*ab8db090SAndroid Build Coastguard Worker   }
3482*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa::Key * >(argp2);
3483*ab8db090SAndroid Build Coastguard Worker   {
3484*ab8db090SAndroid Build Coastguard Worker     try {
3485*ab8db090SAndroid Build Coastguard Worker       (arg1)->push_back((marisa::Key const &)*arg2);
3486*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3487*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3488*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3489*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3490*ab8db090SAndroid Build Coastguard Worker     }
3491*ab8db090SAndroid Build Coastguard Worker   }
3492*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3493*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3494*ab8db090SAndroid Build Coastguard Worker fail:
3495*ab8db090SAndroid Build Coastguard Worker   return NULL;
3496*ab8db090SAndroid Build Coastguard Worker }
3497*ab8db090SAndroid Build Coastguard Worker 
3498*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_push_back__SWIG_1(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3499*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_push_back__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3500*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3501*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3502*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
3503*ab8db090SAndroid Build Coastguard Worker   std::size_t arg3 ;
3504*ab8db090SAndroid Build Coastguard Worker   float arg4 ;
3505*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3506*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3507*ab8db090SAndroid Build Coastguard Worker   int res2 ;
3508*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
3509*ab8db090SAndroid Build Coastguard Worker   size_t size2 = 0 ;
3510*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
3511*ab8db090SAndroid Build Coastguard Worker   float val4 ;
3512*ab8db090SAndroid Build Coastguard Worker   int ecode4 = 0 ;
3513*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3514*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3515*ab8db090SAndroid Build Coastguard Worker   PyObject * obj2 = 0 ;
3516*ab8db090SAndroid Build Coastguard Worker 
3517*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OOO:Keyset_push_back",&obj0,&obj1,&obj2)) SWIG_fail;
3518*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3519*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3520*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3521*ab8db090SAndroid Build Coastguard Worker   }
3522*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3523*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, &size2, &alloc2);
3524*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
3525*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "char const *""'");
3526*ab8db090SAndroid Build Coastguard Worker   }
3527*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
3528*ab8db090SAndroid Build Coastguard Worker   arg3 = static_cast< std::size_t >(size2 - 1);
3529*ab8db090SAndroid Build Coastguard Worker   ecode4 = SWIG_AsVal_float(obj2, &val4);
3530*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode4)) {
3531*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Keyset_push_back" "', argument " "4"" of type '" "float""'");
3532*ab8db090SAndroid Build Coastguard Worker   }
3533*ab8db090SAndroid Build Coastguard Worker   arg4 = static_cast< float >(val4);
3534*ab8db090SAndroid Build Coastguard Worker   {
3535*ab8db090SAndroid Build Coastguard Worker     try {
3536*ab8db090SAndroid Build Coastguard Worker       (arg1)->push_back((char const *)arg2,arg3,arg4);
3537*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3538*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3539*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3540*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3541*ab8db090SAndroid Build Coastguard Worker     }
3542*ab8db090SAndroid Build Coastguard Worker   }
3543*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3544*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3545*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3546*ab8db090SAndroid Build Coastguard Worker fail:
3547*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3548*ab8db090SAndroid Build Coastguard Worker   return NULL;
3549*ab8db090SAndroid Build Coastguard Worker }
3550*ab8db090SAndroid Build Coastguard Worker 
3551*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_push_back__SWIG_2(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3552*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_push_back__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3553*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3554*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3555*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
3556*ab8db090SAndroid Build Coastguard Worker   std::size_t arg3 ;
3557*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3558*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3559*ab8db090SAndroid Build Coastguard Worker   int res2 ;
3560*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
3561*ab8db090SAndroid Build Coastguard Worker   size_t size2 = 0 ;
3562*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
3563*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3564*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3565*ab8db090SAndroid Build Coastguard Worker 
3566*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Keyset_push_back",&obj0,&obj1)) SWIG_fail;
3567*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3568*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3569*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_push_back" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3570*ab8db090SAndroid Build Coastguard Worker   }
3571*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3572*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, &size2, &alloc2);
3573*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
3574*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Keyset_push_back" "', argument " "2"" of type '" "char const *""'");
3575*ab8db090SAndroid Build Coastguard Worker   }
3576*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
3577*ab8db090SAndroid Build Coastguard Worker   arg3 = static_cast< std::size_t >(size2 - 1);
3578*ab8db090SAndroid Build Coastguard Worker   {
3579*ab8db090SAndroid Build Coastguard Worker     try {
3580*ab8db090SAndroid Build Coastguard Worker       (arg1)->push_back((char const *)arg2,arg3);
3581*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3582*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3583*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3584*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3585*ab8db090SAndroid Build Coastguard Worker     }
3586*ab8db090SAndroid Build Coastguard Worker   }
3587*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3588*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3589*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3590*ab8db090SAndroid Build Coastguard Worker fail:
3591*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
3592*ab8db090SAndroid Build Coastguard Worker   return NULL;
3593*ab8db090SAndroid Build Coastguard Worker }
3594*ab8db090SAndroid Build Coastguard Worker 
3595*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_push_back(PyObject * self,PyObject * args)3596*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_push_back(PyObject *self, PyObject *args) {
3597*ab8db090SAndroid Build Coastguard Worker   int argc;
3598*ab8db090SAndroid Build Coastguard Worker   PyObject *argv[4];
3599*ab8db090SAndroid Build Coastguard Worker   int ii;
3600*ab8db090SAndroid Build Coastguard Worker 
3601*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) SWIG_fail;
3602*ab8db090SAndroid Build Coastguard Worker   argc = (int)PyObject_Length(args);
3603*ab8db090SAndroid Build Coastguard Worker   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
3604*ab8db090SAndroid Build Coastguard Worker     argv[ii] = PyTuple_GET_ITEM(args,ii);
3605*ab8db090SAndroid Build Coastguard Worker   }
3606*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
3607*ab8db090SAndroid Build Coastguard Worker     int _v;
3608*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
3609*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
3610*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
3611*ab8db090SAndroid Build Coastguard Worker     if (_v) {
3612*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_marisa__Key, 0);
3613*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
3614*ab8db090SAndroid Build Coastguard Worker       if (_v) {
3615*ab8db090SAndroid Build Coastguard Worker         return _wrap_Keyset_push_back__SWIG_0(self, args);
3616*ab8db090SAndroid Build Coastguard Worker       }
3617*ab8db090SAndroid Build Coastguard Worker     }
3618*ab8db090SAndroid Build Coastguard Worker   }
3619*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
3620*ab8db090SAndroid Build Coastguard Worker     int _v;
3621*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
3622*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
3623*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
3624*ab8db090SAndroid Build Coastguard Worker     if (_v) {
3625*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3626*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
3627*ab8db090SAndroid Build Coastguard Worker       if (_v) {
3628*ab8db090SAndroid Build Coastguard Worker         if (argc <= 2) {
3629*ab8db090SAndroid Build Coastguard Worker           return _wrap_Keyset_push_back__SWIG_2(self, args);
3630*ab8db090SAndroid Build Coastguard Worker         }
3631*ab8db090SAndroid Build Coastguard Worker         {
3632*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_size_t(argv[2], NULL);
3633*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
3634*ab8db090SAndroid Build Coastguard Worker         }
3635*ab8db090SAndroid Build Coastguard Worker         if (_v) {
3636*ab8db090SAndroid Build Coastguard Worker           return _wrap_Keyset_push_back__SWIG_2(self, args);
3637*ab8db090SAndroid Build Coastguard Worker         }
3638*ab8db090SAndroid Build Coastguard Worker       }
3639*ab8db090SAndroid Build Coastguard Worker     }
3640*ab8db090SAndroid Build Coastguard Worker   }
3641*ab8db090SAndroid Build Coastguard Worker   if (argc == 3) {
3642*ab8db090SAndroid Build Coastguard Worker     int _v;
3643*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
3644*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
3645*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
3646*ab8db090SAndroid Build Coastguard Worker     if (_v) {
3647*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3648*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
3649*ab8db090SAndroid Build Coastguard Worker       if (_v) {
3650*ab8db090SAndroid Build Coastguard Worker         {
3651*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_float(argv[2], NULL);
3652*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
3653*ab8db090SAndroid Build Coastguard Worker         }
3654*ab8db090SAndroid Build Coastguard Worker         if (_v) {
3655*ab8db090SAndroid Build Coastguard Worker           return _wrap_Keyset_push_back__SWIG_1(self, args);
3656*ab8db090SAndroid Build Coastguard Worker         }
3657*ab8db090SAndroid Build Coastguard Worker       }
3658*ab8db090SAndroid Build Coastguard Worker     }
3659*ab8db090SAndroid Build Coastguard Worker   }
3660*ab8db090SAndroid Build Coastguard Worker 
3661*ab8db090SAndroid Build Coastguard Worker fail:
3662*ab8db090SAndroid Build Coastguard Worker   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Keyset_push_back'.\n"
3663*ab8db090SAndroid Build Coastguard Worker     "  Possible C/C++ prototypes are:\n"
3664*ab8db090SAndroid Build Coastguard Worker     "    push_back(marisa_swig::Keyset *,marisa::Key const &)\n"
3665*ab8db090SAndroid Build Coastguard Worker     "    push_back(marisa_swig::Keyset *,char const *,std::size_t,float)\n"
3666*ab8db090SAndroid Build Coastguard Worker     "    push_back(marisa_swig::Keyset *,char const *,std::size_t)\n");
3667*ab8db090SAndroid Build Coastguard Worker   return NULL;
3668*ab8db090SAndroid Build Coastguard Worker }
3669*ab8db090SAndroid Build Coastguard Worker 
3670*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_key(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3671*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_key(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3672*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3673*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3674*ab8db090SAndroid Build Coastguard Worker   std::size_t arg2 ;
3675*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3676*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3677*ab8db090SAndroid Build Coastguard Worker   size_t val2 ;
3678*ab8db090SAndroid Build Coastguard Worker   int ecode2 = 0 ;
3679*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3680*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3681*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *result = 0 ;
3682*ab8db090SAndroid Build Coastguard Worker 
3683*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Keyset_key",&obj0,&obj1)) SWIG_fail;
3684*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3685*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3686*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3687*ab8db090SAndroid Build Coastguard Worker   }
3688*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3689*ab8db090SAndroid Build Coastguard Worker   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
3690*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode2)) {
3691*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key" "', argument " "2"" of type '" "std::size_t""'");
3692*ab8db090SAndroid Build Coastguard Worker   }
3693*ab8db090SAndroid Build Coastguard Worker   arg2 = static_cast< std::size_t >(val2);
3694*ab8db090SAndroid Build Coastguard Worker   {
3695*ab8db090SAndroid Build Coastguard Worker     try {
3696*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Key *) &((marisa_swig::Keyset const *)arg1)->key(arg2);
3697*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3698*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3699*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3700*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3701*ab8db090SAndroid Build Coastguard Worker     }
3702*ab8db090SAndroid Build Coastguard Worker   }
3703*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
3704*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3705*ab8db090SAndroid Build Coastguard Worker fail:
3706*ab8db090SAndroid Build Coastguard Worker   return NULL;
3707*ab8db090SAndroid Build Coastguard Worker }
3708*ab8db090SAndroid Build Coastguard Worker 
3709*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_key_str(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3710*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_key_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3711*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3712*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3713*ab8db090SAndroid Build Coastguard Worker   std::size_t arg2 ;
3714*ab8db090SAndroid Build Coastguard Worker   char **arg3 = (char **) 0 ;
3715*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg4 = (std::size_t *) 0 ;
3716*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3717*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3718*ab8db090SAndroid Build Coastguard Worker   size_t val2 ;
3719*ab8db090SAndroid Build Coastguard Worker   int ecode2 = 0 ;
3720*ab8db090SAndroid Build Coastguard Worker   char *temp3 = 0 ;
3721*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn3 ;
3722*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3723*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3724*ab8db090SAndroid Build Coastguard Worker 
3725*ab8db090SAndroid Build Coastguard Worker   arg3 = &temp3; arg4 = &tempn3;
3726*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Keyset_key_str",&obj0,&obj1)) SWIG_fail;
3727*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3728*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3729*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key_str" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3730*ab8db090SAndroid Build Coastguard Worker   }
3731*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3732*ab8db090SAndroid Build Coastguard Worker   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
3733*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode2)) {
3734*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key_str" "', argument " "2"" of type '" "std::size_t""'");
3735*ab8db090SAndroid Build Coastguard Worker   }
3736*ab8db090SAndroid Build Coastguard Worker   arg2 = static_cast< std::size_t >(val2);
3737*ab8db090SAndroid Build Coastguard Worker   {
3738*ab8db090SAndroid Build Coastguard Worker     try {
3739*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Keyset const *)arg1)->key_str(arg2,(char const **)arg3,arg4);
3740*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3741*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3742*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3743*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3744*ab8db090SAndroid Build Coastguard Worker     }
3745*ab8db090SAndroid Build Coastguard Worker   }
3746*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3747*ab8db090SAndroid Build Coastguard Worker   if (*arg3) {
3748*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg3,*arg4));
3749*ab8db090SAndroid Build Coastguard Worker     ;
3750*ab8db090SAndroid Build Coastguard Worker   }
3751*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3752*ab8db090SAndroid Build Coastguard Worker fail:
3753*ab8db090SAndroid Build Coastguard Worker   return NULL;
3754*ab8db090SAndroid Build Coastguard Worker }
3755*ab8db090SAndroid Build Coastguard Worker 
3756*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_key_id(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3757*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_key_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3758*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3759*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3760*ab8db090SAndroid Build Coastguard Worker   std::size_t arg2 ;
3761*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3762*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3763*ab8db090SAndroid Build Coastguard Worker   size_t val2 ;
3764*ab8db090SAndroid Build Coastguard Worker   int ecode2 = 0 ;
3765*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3766*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
3767*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3768*ab8db090SAndroid Build Coastguard Worker 
3769*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Keyset_key_id",&obj0,&obj1)) SWIG_fail;
3770*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3771*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3772*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_key_id" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3773*ab8db090SAndroid Build Coastguard Worker   }
3774*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3775*ab8db090SAndroid Build Coastguard Worker   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
3776*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode2)) {
3777*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Keyset_key_id" "', argument " "2"" of type '" "std::size_t""'");
3778*ab8db090SAndroid Build Coastguard Worker   }
3779*ab8db090SAndroid Build Coastguard Worker   arg2 = static_cast< std::size_t >(val2);
3780*ab8db090SAndroid Build Coastguard Worker   {
3781*ab8db090SAndroid Build Coastguard Worker     try {
3782*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Keyset const *)arg1)->key_id(arg2);
3783*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3784*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3785*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3786*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3787*ab8db090SAndroid Build Coastguard Worker     }
3788*ab8db090SAndroid Build Coastguard Worker   }
3789*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3790*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3791*ab8db090SAndroid Build Coastguard Worker fail:
3792*ab8db090SAndroid Build Coastguard Worker   return NULL;
3793*ab8db090SAndroid Build Coastguard Worker }
3794*ab8db090SAndroid Build Coastguard Worker 
3795*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_num_keys(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3796*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_num_keys(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3797*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3798*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3799*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3800*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3801*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3802*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3803*ab8db090SAndroid Build Coastguard Worker 
3804*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_num_keys",&obj0)) SWIG_fail;
3805*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3806*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3807*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_num_keys" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3808*ab8db090SAndroid Build Coastguard Worker   }
3809*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3810*ab8db090SAndroid Build Coastguard Worker   {
3811*ab8db090SAndroid Build Coastguard Worker     try {
3812*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Keyset const *)arg1)->num_keys();
3813*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3814*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3815*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3816*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3817*ab8db090SAndroid Build Coastguard Worker     }
3818*ab8db090SAndroid Build Coastguard Worker   }
3819*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3820*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3821*ab8db090SAndroid Build Coastguard Worker fail:
3822*ab8db090SAndroid Build Coastguard Worker   return NULL;
3823*ab8db090SAndroid Build Coastguard Worker }
3824*ab8db090SAndroid Build Coastguard Worker 
3825*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_empty(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3826*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3827*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3828*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3829*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3830*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3831*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3832*ab8db090SAndroid Build Coastguard Worker   bool result;
3833*ab8db090SAndroid Build Coastguard Worker 
3834*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_empty",&obj0)) SWIG_fail;
3835*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3836*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3837*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_empty" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3838*ab8db090SAndroid Build Coastguard Worker   }
3839*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3840*ab8db090SAndroid Build Coastguard Worker   {
3841*ab8db090SAndroid Build Coastguard Worker     try {
3842*ab8db090SAndroid Build Coastguard Worker       result = (bool)((marisa_swig::Keyset const *)arg1)->empty();
3843*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3844*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3845*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3846*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3847*ab8db090SAndroid Build Coastguard Worker     }
3848*ab8db090SAndroid Build Coastguard Worker   }
3849*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_bool(static_cast< bool >(result));
3850*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3851*ab8db090SAndroid Build Coastguard Worker fail:
3852*ab8db090SAndroid Build Coastguard Worker   return NULL;
3853*ab8db090SAndroid Build Coastguard Worker }
3854*ab8db090SAndroid Build Coastguard Worker 
3855*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_size(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3856*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3857*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3858*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3859*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3860*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3861*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3862*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3863*ab8db090SAndroid Build Coastguard Worker 
3864*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_size",&obj0)) SWIG_fail;
3865*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3866*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3867*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_size" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3868*ab8db090SAndroid Build Coastguard Worker   }
3869*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3870*ab8db090SAndroid Build Coastguard Worker   {
3871*ab8db090SAndroid Build Coastguard Worker     try {
3872*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Keyset const *)arg1)->size();
3873*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3874*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3875*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3876*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3877*ab8db090SAndroid Build Coastguard Worker     }
3878*ab8db090SAndroid Build Coastguard Worker   }
3879*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3880*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3881*ab8db090SAndroid Build Coastguard Worker fail:
3882*ab8db090SAndroid Build Coastguard Worker   return NULL;
3883*ab8db090SAndroid Build Coastguard Worker }
3884*ab8db090SAndroid Build Coastguard Worker 
3885*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_total_length(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3886*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_total_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3887*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3888*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3889*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3890*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3891*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3892*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
3893*ab8db090SAndroid Build Coastguard Worker 
3894*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_total_length",&obj0)) SWIG_fail;
3895*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3896*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3897*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_total_length" "', argument " "1"" of type '" "marisa_swig::Keyset const *""'");
3898*ab8db090SAndroid Build Coastguard Worker   }
3899*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3900*ab8db090SAndroid Build Coastguard Worker   {
3901*ab8db090SAndroid Build Coastguard Worker     try {
3902*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Keyset const *)arg1)->total_length();
3903*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3904*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3905*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3906*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3907*ab8db090SAndroid Build Coastguard Worker     }
3908*ab8db090SAndroid Build Coastguard Worker   }
3909*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
3910*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3911*ab8db090SAndroid Build Coastguard Worker fail:
3912*ab8db090SAndroid Build Coastguard Worker   return NULL;
3913*ab8db090SAndroid Build Coastguard Worker }
3914*ab8db090SAndroid Build Coastguard Worker 
3915*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_reset(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3916*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_reset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3917*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3918*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3919*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3920*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3921*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3922*ab8db090SAndroid Build Coastguard Worker 
3923*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_reset",&obj0)) SWIG_fail;
3924*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3925*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3926*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_reset" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3927*ab8db090SAndroid Build Coastguard Worker   }
3928*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3929*ab8db090SAndroid Build Coastguard Worker   {
3930*ab8db090SAndroid Build Coastguard Worker     try {
3931*ab8db090SAndroid Build Coastguard Worker       (arg1)->reset();
3932*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3933*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3934*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3935*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3936*ab8db090SAndroid Build Coastguard Worker     }
3937*ab8db090SAndroid Build Coastguard Worker   }
3938*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3939*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3940*ab8db090SAndroid Build Coastguard Worker fail:
3941*ab8db090SAndroid Build Coastguard Worker   return NULL;
3942*ab8db090SAndroid Build Coastguard Worker }
3943*ab8db090SAndroid Build Coastguard Worker 
3944*ab8db090SAndroid Build Coastguard Worker 
_wrap_Keyset_clear(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3945*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Keyset_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3946*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3947*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg1 = (marisa_swig::Keyset *) 0 ;
3948*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
3949*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
3950*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
3951*ab8db090SAndroid Build Coastguard Worker 
3952*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Keyset_clear",&obj0)) SWIG_fail;
3953*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Keyset, 0 |  0 );
3954*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
3955*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Keyset_clear" "', argument " "1"" of type '" "marisa_swig::Keyset *""'");
3956*ab8db090SAndroid Build Coastguard Worker   }
3957*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Keyset * >(argp1);
3958*ab8db090SAndroid Build Coastguard Worker   {
3959*ab8db090SAndroid Build Coastguard Worker     try {
3960*ab8db090SAndroid Build Coastguard Worker       (arg1)->clear();
3961*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3962*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3963*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3964*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3965*ab8db090SAndroid Build Coastguard Worker     }
3966*ab8db090SAndroid Build Coastguard Worker   }
3967*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
3968*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3969*ab8db090SAndroid Build Coastguard Worker fail:
3970*ab8db090SAndroid Build Coastguard Worker   return NULL;
3971*ab8db090SAndroid Build Coastguard Worker }
3972*ab8db090SAndroid Build Coastguard Worker 
3973*ab8db090SAndroid Build Coastguard Worker 
Keyset_swigregister(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3974*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *Keyset_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3975*ab8db090SAndroid Build Coastguard Worker   PyObject *obj;
3976*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
3977*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeNewClientData(SWIGTYPE_p_marisa_swig__Keyset, SWIG_NewClientData(obj));
3978*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
3979*ab8db090SAndroid Build Coastguard Worker }
3980*ab8db090SAndroid Build Coastguard Worker 
_wrap_new_Agent(PyObject * SWIGUNUSEDPARM (self),PyObject * args)3981*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_new_Agent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3982*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
3983*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *result = 0 ;
3984*ab8db090SAndroid Build Coastguard Worker 
3985*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)":new_Agent")) SWIG_fail;
3986*ab8db090SAndroid Build Coastguard Worker   {
3987*ab8db090SAndroid Build Coastguard Worker     try {
3988*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Agent *)new marisa_swig::Agent();
3989*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
3990*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
3991*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
3992*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
3993*ab8db090SAndroid Build Coastguard Worker     }
3994*ab8db090SAndroid Build Coastguard Worker   }
3995*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Agent, SWIG_POINTER_NEW |  0 );
3996*ab8db090SAndroid Build Coastguard Worker   return resultobj;
3997*ab8db090SAndroid Build Coastguard Worker fail:
3998*ab8db090SAndroid Build Coastguard Worker   return NULL;
3999*ab8db090SAndroid Build Coastguard Worker }
4000*ab8db090SAndroid Build Coastguard Worker 
4001*ab8db090SAndroid Build Coastguard Worker 
_wrap_delete_Agent(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4002*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_delete_Agent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4003*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4004*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4005*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4006*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4007*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4008*ab8db090SAndroid Build Coastguard Worker 
4009*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:delete_Agent",&obj0)) SWIG_fail;
4010*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, SWIG_POINTER_DISOWN |  0 );
4011*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4012*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Agent" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
4013*ab8db090SAndroid Build Coastguard Worker   }
4014*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4015*ab8db090SAndroid Build Coastguard Worker   {
4016*ab8db090SAndroid Build Coastguard Worker     try {
4017*ab8db090SAndroid Build Coastguard Worker       delete arg1;
4018*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4019*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4020*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4021*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4022*ab8db090SAndroid Build Coastguard Worker     }
4023*ab8db090SAndroid Build Coastguard Worker   }
4024*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4025*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4026*ab8db090SAndroid Build Coastguard Worker fail:
4027*ab8db090SAndroid Build Coastguard Worker   return NULL;
4028*ab8db090SAndroid Build Coastguard Worker }
4029*ab8db090SAndroid Build Coastguard Worker 
4030*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_set_query__SWIG_0(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4031*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_set_query__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4032*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4033*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4034*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
4035*ab8db090SAndroid Build Coastguard Worker   std::size_t arg3 ;
4036*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4037*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4038*ab8db090SAndroid Build Coastguard Worker   int res2 ;
4039*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
4040*ab8db090SAndroid Build Coastguard Worker   size_t size2 = 0 ;
4041*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
4042*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4043*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4044*ab8db090SAndroid Build Coastguard Worker 
4045*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Agent_set_query",&obj0,&obj1)) SWIG_fail;
4046*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4047*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4048*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_set_query" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
4049*ab8db090SAndroid Build Coastguard Worker   }
4050*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4051*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, &size2, &alloc2);
4052*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4053*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Agent_set_query" "', argument " "2"" of type '" "char const *""'");
4054*ab8db090SAndroid Build Coastguard Worker   }
4055*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
4056*ab8db090SAndroid Build Coastguard Worker   arg3 = static_cast< std::size_t >(size2 - 1);
4057*ab8db090SAndroid Build Coastguard Worker   {
4058*ab8db090SAndroid Build Coastguard Worker     try {
4059*ab8db090SAndroid Build Coastguard Worker       (arg1)->set_query((char const *)arg2,arg3);
4060*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4061*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4062*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4063*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4064*ab8db090SAndroid Build Coastguard Worker     }
4065*ab8db090SAndroid Build Coastguard Worker   }
4066*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4067*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4068*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4069*ab8db090SAndroid Build Coastguard Worker fail:
4070*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4071*ab8db090SAndroid Build Coastguard Worker   return NULL;
4072*ab8db090SAndroid Build Coastguard Worker }
4073*ab8db090SAndroid Build Coastguard Worker 
4074*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_set_query__SWIG_1(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4075*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_set_query__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4076*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4077*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4078*ab8db090SAndroid Build Coastguard Worker   std::size_t arg2 ;
4079*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4080*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4081*ab8db090SAndroid Build Coastguard Worker   size_t val2 ;
4082*ab8db090SAndroid Build Coastguard Worker   int ecode2 = 0 ;
4083*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4084*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4085*ab8db090SAndroid Build Coastguard Worker 
4086*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Agent_set_query",&obj0,&obj1)) SWIG_fail;
4087*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4088*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4089*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_set_query" "', argument " "1"" of type '" "marisa_swig::Agent *""'");
4090*ab8db090SAndroid Build Coastguard Worker   }
4091*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4092*ab8db090SAndroid Build Coastguard Worker   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
4093*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode2)) {
4094*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Agent_set_query" "', argument " "2"" of type '" "std::size_t""'");
4095*ab8db090SAndroid Build Coastguard Worker   }
4096*ab8db090SAndroid Build Coastguard Worker   arg2 = static_cast< std::size_t >(val2);
4097*ab8db090SAndroid Build Coastguard Worker   {
4098*ab8db090SAndroid Build Coastguard Worker     try {
4099*ab8db090SAndroid Build Coastguard Worker       (arg1)->set_query(arg2);
4100*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4101*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4102*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4103*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4104*ab8db090SAndroid Build Coastguard Worker     }
4105*ab8db090SAndroid Build Coastguard Worker   }
4106*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4107*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4108*ab8db090SAndroid Build Coastguard Worker fail:
4109*ab8db090SAndroid Build Coastguard Worker   return NULL;
4110*ab8db090SAndroid Build Coastguard Worker }
4111*ab8db090SAndroid Build Coastguard Worker 
4112*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_set_query(PyObject * self,PyObject * args)4113*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_set_query(PyObject *self, PyObject *args) {
4114*ab8db090SAndroid Build Coastguard Worker   int argc;
4115*ab8db090SAndroid Build Coastguard Worker   PyObject *argv[3];
4116*ab8db090SAndroid Build Coastguard Worker   int ii;
4117*ab8db090SAndroid Build Coastguard Worker 
4118*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) SWIG_fail;
4119*ab8db090SAndroid Build Coastguard Worker   argc = (int)PyObject_Length(args);
4120*ab8db090SAndroid Build Coastguard Worker   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
4121*ab8db090SAndroid Build Coastguard Worker     argv[ii] = PyTuple_GET_ITEM(args,ii);
4122*ab8db090SAndroid Build Coastguard Worker   }
4123*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
4124*ab8db090SAndroid Build Coastguard Worker     int _v;
4125*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4126*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
4127*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4128*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4129*ab8db090SAndroid Build Coastguard Worker       {
4130*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsVal_size_t(argv[1], NULL);
4131*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
4132*ab8db090SAndroid Build Coastguard Worker       }
4133*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4134*ab8db090SAndroid Build Coastguard Worker         return _wrap_Agent_set_query__SWIG_1(self, args);
4135*ab8db090SAndroid Build Coastguard Worker       }
4136*ab8db090SAndroid Build Coastguard Worker     }
4137*ab8db090SAndroid Build Coastguard Worker   }
4138*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
4139*ab8db090SAndroid Build Coastguard Worker     int _v;
4140*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4141*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
4142*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4143*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4144*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
4145*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
4146*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4147*ab8db090SAndroid Build Coastguard Worker         if (argc <= 2) {
4148*ab8db090SAndroid Build Coastguard Worker           return _wrap_Agent_set_query__SWIG_0(self, args);
4149*ab8db090SAndroid Build Coastguard Worker         }
4150*ab8db090SAndroid Build Coastguard Worker         {
4151*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_size_t(argv[2], NULL);
4152*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
4153*ab8db090SAndroid Build Coastguard Worker         }
4154*ab8db090SAndroid Build Coastguard Worker         if (_v) {
4155*ab8db090SAndroid Build Coastguard Worker           return _wrap_Agent_set_query__SWIG_0(self, args);
4156*ab8db090SAndroid Build Coastguard Worker         }
4157*ab8db090SAndroid Build Coastguard Worker       }
4158*ab8db090SAndroid Build Coastguard Worker     }
4159*ab8db090SAndroid Build Coastguard Worker   }
4160*ab8db090SAndroid Build Coastguard Worker 
4161*ab8db090SAndroid Build Coastguard Worker fail:
4162*ab8db090SAndroid Build Coastguard Worker   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Agent_set_query'.\n"
4163*ab8db090SAndroid Build Coastguard Worker     "  Possible C/C++ prototypes are:\n"
4164*ab8db090SAndroid Build Coastguard Worker     "    set_query(marisa_swig::Agent *,char const *,std::size_t)\n"
4165*ab8db090SAndroid Build Coastguard Worker     "    set_query(marisa_swig::Agent *,std::size_t)\n");
4166*ab8db090SAndroid Build Coastguard Worker   return NULL;
4167*ab8db090SAndroid Build Coastguard Worker }
4168*ab8db090SAndroid Build Coastguard Worker 
4169*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_key(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4170*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_key(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4171*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4172*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4173*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4174*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4175*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4176*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Key *result = 0 ;
4177*ab8db090SAndroid Build Coastguard Worker 
4178*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_key",&obj0)) SWIG_fail;
4179*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4180*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4181*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4182*ab8db090SAndroid Build Coastguard Worker   }
4183*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4184*ab8db090SAndroid Build Coastguard Worker   {
4185*ab8db090SAndroid Build Coastguard Worker     try {
4186*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Key *) &((marisa_swig::Agent const *)arg1)->key();
4187*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4188*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4189*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4190*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4191*ab8db090SAndroid Build Coastguard Worker     }
4192*ab8db090SAndroid Build Coastguard Worker   }
4193*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Key, 0 |  0 );
4194*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4195*ab8db090SAndroid Build Coastguard Worker fail:
4196*ab8db090SAndroid Build Coastguard Worker   return NULL;
4197*ab8db090SAndroid Build Coastguard Worker }
4198*ab8db090SAndroid Build Coastguard Worker 
4199*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_query(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4200*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_query(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4201*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4202*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4203*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4204*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4205*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4206*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Query *result = 0 ;
4207*ab8db090SAndroid Build Coastguard Worker 
4208*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_query",&obj0)) SWIG_fail;
4209*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4210*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4211*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4212*ab8db090SAndroid Build Coastguard Worker   }
4213*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4214*ab8db090SAndroid Build Coastguard Worker   {
4215*ab8db090SAndroid Build Coastguard Worker     try {
4216*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Query *) &((marisa_swig::Agent const *)arg1)->query();
4217*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4218*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4219*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4220*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4221*ab8db090SAndroid Build Coastguard Worker     }
4222*ab8db090SAndroid Build Coastguard Worker   }
4223*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Query, 0 |  0 );
4224*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4225*ab8db090SAndroid Build Coastguard Worker fail:
4226*ab8db090SAndroid Build Coastguard Worker   return NULL;
4227*ab8db090SAndroid Build Coastguard Worker }
4228*ab8db090SAndroid Build Coastguard Worker 
4229*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_key_str(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4230*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_key_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4231*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4232*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4233*ab8db090SAndroid Build Coastguard Worker   char **arg2 = (char **) 0 ;
4234*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg3 = (std::size_t *) 0 ;
4235*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4236*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4237*ab8db090SAndroid Build Coastguard Worker   char *temp2 = 0 ;
4238*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn2 ;
4239*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4240*ab8db090SAndroid Build Coastguard Worker 
4241*ab8db090SAndroid Build Coastguard Worker   arg2 = &temp2; arg3 = &tempn2;
4242*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_key_str",&obj0)) SWIG_fail;
4243*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4244*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4245*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key_str" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4246*ab8db090SAndroid Build Coastguard Worker   }
4247*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4248*ab8db090SAndroid Build Coastguard Worker   {
4249*ab8db090SAndroid Build Coastguard Worker     try {
4250*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Agent const *)arg1)->key_str((char const **)arg2,arg3);
4251*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4252*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4253*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4254*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4255*ab8db090SAndroid Build Coastguard Worker     }
4256*ab8db090SAndroid Build Coastguard Worker   }
4257*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4258*ab8db090SAndroid Build Coastguard Worker   if (*arg2) {
4259*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg2,*arg3));
4260*ab8db090SAndroid Build Coastguard Worker     ;
4261*ab8db090SAndroid Build Coastguard Worker   }
4262*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4263*ab8db090SAndroid Build Coastguard Worker fail:
4264*ab8db090SAndroid Build Coastguard Worker   return NULL;
4265*ab8db090SAndroid Build Coastguard Worker }
4266*ab8db090SAndroid Build Coastguard Worker 
4267*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_key_id(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4268*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_key_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4269*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4270*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4271*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4272*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4273*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4274*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
4275*ab8db090SAndroid Build Coastguard Worker 
4276*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_key_id",&obj0)) SWIG_fail;
4277*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4278*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4279*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_key_id" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4280*ab8db090SAndroid Build Coastguard Worker   }
4281*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4282*ab8db090SAndroid Build Coastguard Worker   {
4283*ab8db090SAndroid Build Coastguard Worker     try {
4284*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Agent const *)arg1)->key_id();
4285*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4286*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4287*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4288*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4289*ab8db090SAndroid Build Coastguard Worker     }
4290*ab8db090SAndroid Build Coastguard Worker   }
4291*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
4292*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4293*ab8db090SAndroid Build Coastguard Worker fail:
4294*ab8db090SAndroid Build Coastguard Worker   return NULL;
4295*ab8db090SAndroid Build Coastguard Worker }
4296*ab8db090SAndroid Build Coastguard Worker 
4297*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_query_str(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4298*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_query_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4299*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4300*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4301*ab8db090SAndroid Build Coastguard Worker   char **arg2 = (char **) 0 ;
4302*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg3 = (std::size_t *) 0 ;
4303*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4304*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4305*ab8db090SAndroid Build Coastguard Worker   char *temp2 = 0 ;
4306*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn2 ;
4307*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4308*ab8db090SAndroid Build Coastguard Worker 
4309*ab8db090SAndroid Build Coastguard Worker   arg2 = &temp2; arg3 = &tempn2;
4310*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_query_str",&obj0)) SWIG_fail;
4311*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4312*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4313*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query_str" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4314*ab8db090SAndroid Build Coastguard Worker   }
4315*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4316*ab8db090SAndroid Build Coastguard Worker   {
4317*ab8db090SAndroid Build Coastguard Worker     try {
4318*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Agent const *)arg1)->query_str((char const **)arg2,arg3);
4319*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4320*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4321*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4322*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4323*ab8db090SAndroid Build Coastguard Worker     }
4324*ab8db090SAndroid Build Coastguard Worker   }
4325*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4326*ab8db090SAndroid Build Coastguard Worker   if (*arg2) {
4327*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg2,*arg3));
4328*ab8db090SAndroid Build Coastguard Worker     ;
4329*ab8db090SAndroid Build Coastguard Worker   }
4330*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4331*ab8db090SAndroid Build Coastguard Worker fail:
4332*ab8db090SAndroid Build Coastguard Worker   return NULL;
4333*ab8db090SAndroid Build Coastguard Worker }
4334*ab8db090SAndroid Build Coastguard Worker 
4335*ab8db090SAndroid Build Coastguard Worker 
_wrap_Agent_query_id(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4336*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Agent_query_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4337*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4338*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg1 = (marisa_swig::Agent *) 0 ;
4339*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4340*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4341*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4342*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
4343*ab8db090SAndroid Build Coastguard Worker 
4344*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Agent_query_id",&obj0)) SWIG_fail;
4345*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Agent, 0 |  0 );
4346*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4347*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Agent_query_id" "', argument " "1"" of type '" "marisa_swig::Agent const *""'");
4348*ab8db090SAndroid Build Coastguard Worker   }
4349*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Agent * >(argp1);
4350*ab8db090SAndroid Build Coastguard Worker   {
4351*ab8db090SAndroid Build Coastguard Worker     try {
4352*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Agent const *)arg1)->query_id();
4353*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4354*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4355*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4356*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4357*ab8db090SAndroid Build Coastguard Worker     }
4358*ab8db090SAndroid Build Coastguard Worker   }
4359*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
4360*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4361*ab8db090SAndroid Build Coastguard Worker fail:
4362*ab8db090SAndroid Build Coastguard Worker   return NULL;
4363*ab8db090SAndroid Build Coastguard Worker }
4364*ab8db090SAndroid Build Coastguard Worker 
4365*ab8db090SAndroid Build Coastguard Worker 
Agent_swigregister(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4366*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *Agent_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4367*ab8db090SAndroid Build Coastguard Worker   PyObject *obj;
4368*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
4369*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeNewClientData(SWIGTYPE_p_marisa_swig__Agent, SWIG_NewClientData(obj));
4370*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
4371*ab8db090SAndroid Build Coastguard Worker }
4372*ab8db090SAndroid Build Coastguard Worker 
_wrap_new_Trie(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4373*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_new_Trie(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4374*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4375*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *result = 0 ;
4376*ab8db090SAndroid Build Coastguard Worker 
4377*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)":new_Trie")) SWIG_fail;
4378*ab8db090SAndroid Build Coastguard Worker   {
4379*ab8db090SAndroid Build Coastguard Worker     try {
4380*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::Trie *)new marisa_swig::Trie();
4381*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4382*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4383*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4384*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4385*ab8db090SAndroid Build Coastguard Worker     }
4386*ab8db090SAndroid Build Coastguard Worker   }
4387*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_marisa_swig__Trie, SWIG_POINTER_NEW |  0 );
4388*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4389*ab8db090SAndroid Build Coastguard Worker fail:
4390*ab8db090SAndroid Build Coastguard Worker   return NULL;
4391*ab8db090SAndroid Build Coastguard Worker }
4392*ab8db090SAndroid Build Coastguard Worker 
4393*ab8db090SAndroid Build Coastguard Worker 
_wrap_delete_Trie(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4394*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_delete_Trie(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4395*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4396*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4397*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4398*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4399*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4400*ab8db090SAndroid Build Coastguard Worker 
4401*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:delete_Trie",&obj0)) SWIG_fail;
4402*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, SWIG_POINTER_DISOWN |  0 );
4403*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4404*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Trie" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4405*ab8db090SAndroid Build Coastguard Worker   }
4406*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4407*ab8db090SAndroid Build Coastguard Worker   {
4408*ab8db090SAndroid Build Coastguard Worker     try {
4409*ab8db090SAndroid Build Coastguard Worker       delete arg1;
4410*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4411*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4412*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4413*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4414*ab8db090SAndroid Build Coastguard Worker     }
4415*ab8db090SAndroid Build Coastguard Worker   }
4416*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4417*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4418*ab8db090SAndroid Build Coastguard Worker fail:
4419*ab8db090SAndroid Build Coastguard Worker   return NULL;
4420*ab8db090SAndroid Build Coastguard Worker }
4421*ab8db090SAndroid Build Coastguard Worker 
4422*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_build__SWIG_0(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4423*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_build__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4424*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4425*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4426*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg2 = 0 ;
4427*ab8db090SAndroid Build Coastguard Worker   int arg3 ;
4428*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4429*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4430*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4431*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4432*ab8db090SAndroid Build Coastguard Worker   int val3 ;
4433*ab8db090SAndroid Build Coastguard Worker   int ecode3 = 0 ;
4434*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4435*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4436*ab8db090SAndroid Build Coastguard Worker   PyObject * obj2 = 0 ;
4437*ab8db090SAndroid Build Coastguard Worker 
4438*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OOO:Trie_build",&obj0,&obj1,&obj2)) SWIG_fail;
4439*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4440*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4441*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_build" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4442*ab8db090SAndroid Build Coastguard Worker   }
4443*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4444*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Keyset,  0 );
4445*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4446*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
4447*ab8db090SAndroid Build Coastguard Worker   }
4448*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4449*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
4450*ab8db090SAndroid Build Coastguard Worker   }
4451*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Keyset * >(argp2);
4452*ab8db090SAndroid Build Coastguard Worker   ecode3 = SWIG_AsVal_int(obj2, &val3);
4453*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode3)) {
4454*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Trie_build" "', argument " "3"" of type '" "int""'");
4455*ab8db090SAndroid Build Coastguard Worker   }
4456*ab8db090SAndroid Build Coastguard Worker   arg3 = static_cast< int >(val3);
4457*ab8db090SAndroid Build Coastguard Worker   {
4458*ab8db090SAndroid Build Coastguard Worker     try {
4459*ab8db090SAndroid Build Coastguard Worker       (arg1)->build(*arg2,arg3);
4460*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4461*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4462*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4463*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4464*ab8db090SAndroid Build Coastguard Worker     }
4465*ab8db090SAndroid Build Coastguard Worker   }
4466*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4467*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4468*ab8db090SAndroid Build Coastguard Worker fail:
4469*ab8db090SAndroid Build Coastguard Worker   return NULL;
4470*ab8db090SAndroid Build Coastguard Worker }
4471*ab8db090SAndroid Build Coastguard Worker 
4472*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_build__SWIG_1(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4473*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_build__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4474*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4475*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4476*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Keyset *arg2 = 0 ;
4477*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4478*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4479*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4480*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4481*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4482*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4483*ab8db090SAndroid Build Coastguard Worker 
4484*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_build",&obj0,&obj1)) SWIG_fail;
4485*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4486*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4487*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_build" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4488*ab8db090SAndroid Build Coastguard Worker   }
4489*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4490*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Keyset,  0 );
4491*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4492*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
4493*ab8db090SAndroid Build Coastguard Worker   }
4494*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4495*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_build" "', argument " "2"" of type '" "marisa_swig::Keyset &""'");
4496*ab8db090SAndroid Build Coastguard Worker   }
4497*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Keyset * >(argp2);
4498*ab8db090SAndroid Build Coastguard Worker   {
4499*ab8db090SAndroid Build Coastguard Worker     try {
4500*ab8db090SAndroid Build Coastguard Worker       (arg1)->build(*arg2);
4501*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4502*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4503*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4504*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4505*ab8db090SAndroid Build Coastguard Worker     }
4506*ab8db090SAndroid Build Coastguard Worker   }
4507*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4508*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4509*ab8db090SAndroid Build Coastguard Worker fail:
4510*ab8db090SAndroid Build Coastguard Worker   return NULL;
4511*ab8db090SAndroid Build Coastguard Worker }
4512*ab8db090SAndroid Build Coastguard Worker 
4513*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_build(PyObject * self,PyObject * args)4514*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_build(PyObject *self, PyObject *args) {
4515*ab8db090SAndroid Build Coastguard Worker   int argc;
4516*ab8db090SAndroid Build Coastguard Worker   PyObject *argv[4];
4517*ab8db090SAndroid Build Coastguard Worker   int ii;
4518*ab8db090SAndroid Build Coastguard Worker 
4519*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) SWIG_fail;
4520*ab8db090SAndroid Build Coastguard Worker   argc = (int)PyObject_Length(args);
4521*ab8db090SAndroid Build Coastguard Worker   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
4522*ab8db090SAndroid Build Coastguard Worker     argv[ii] = PyTuple_GET_ITEM(args,ii);
4523*ab8db090SAndroid Build Coastguard Worker   }
4524*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
4525*ab8db090SAndroid Build Coastguard Worker     int _v;
4526*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4527*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4528*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4529*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4530*ab8db090SAndroid Build Coastguard Worker       void *vptr = 0;
4531*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
4532*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
4533*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4534*ab8db090SAndroid Build Coastguard Worker         return _wrap_Trie_build__SWIG_1(self, args);
4535*ab8db090SAndroid Build Coastguard Worker       }
4536*ab8db090SAndroid Build Coastguard Worker     }
4537*ab8db090SAndroid Build Coastguard Worker   }
4538*ab8db090SAndroid Build Coastguard Worker   if (argc == 3) {
4539*ab8db090SAndroid Build Coastguard Worker     int _v;
4540*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4541*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4542*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4543*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4544*ab8db090SAndroid Build Coastguard Worker       void *vptr = 0;
4545*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_marisa_swig__Keyset, 0);
4546*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
4547*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4548*ab8db090SAndroid Build Coastguard Worker         {
4549*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_int(argv[2], NULL);
4550*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
4551*ab8db090SAndroid Build Coastguard Worker         }
4552*ab8db090SAndroid Build Coastguard Worker         if (_v) {
4553*ab8db090SAndroid Build Coastguard Worker           return _wrap_Trie_build__SWIG_0(self, args);
4554*ab8db090SAndroid Build Coastguard Worker         }
4555*ab8db090SAndroid Build Coastguard Worker       }
4556*ab8db090SAndroid Build Coastguard Worker     }
4557*ab8db090SAndroid Build Coastguard Worker   }
4558*ab8db090SAndroid Build Coastguard Worker 
4559*ab8db090SAndroid Build Coastguard Worker fail:
4560*ab8db090SAndroid Build Coastguard Worker   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Trie_build'.\n"
4561*ab8db090SAndroid Build Coastguard Worker     "  Possible C/C++ prototypes are:\n"
4562*ab8db090SAndroid Build Coastguard Worker     "    build(marisa_swig::Trie *,marisa_swig::Keyset &,int)\n"
4563*ab8db090SAndroid Build Coastguard Worker     "    build(marisa_swig::Trie *,marisa_swig::Keyset &)\n");
4564*ab8db090SAndroid Build Coastguard Worker   return NULL;
4565*ab8db090SAndroid Build Coastguard Worker }
4566*ab8db090SAndroid Build Coastguard Worker 
4567*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_mmap(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4568*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_mmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4569*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4570*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4571*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
4572*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4573*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4574*ab8db090SAndroid Build Coastguard Worker   int res2 ;
4575*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
4576*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
4577*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4578*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4579*ab8db090SAndroid Build Coastguard Worker 
4580*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_mmap",&obj0,&obj1)) SWIG_fail;
4581*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4582*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4583*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_mmap" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4584*ab8db090SAndroid Build Coastguard Worker   }
4585*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4586*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4587*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4588*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_mmap" "', argument " "2"" of type '" "char const *""'");
4589*ab8db090SAndroid Build Coastguard Worker   }
4590*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
4591*ab8db090SAndroid Build Coastguard Worker   {
4592*ab8db090SAndroid Build Coastguard Worker     try {
4593*ab8db090SAndroid Build Coastguard Worker       (arg1)->mmap((char const *)arg2);
4594*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4595*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4596*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4597*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4598*ab8db090SAndroid Build Coastguard Worker     }
4599*ab8db090SAndroid Build Coastguard Worker   }
4600*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4601*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4602*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4603*ab8db090SAndroid Build Coastguard Worker fail:
4604*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4605*ab8db090SAndroid Build Coastguard Worker   return NULL;
4606*ab8db090SAndroid Build Coastguard Worker }
4607*ab8db090SAndroid Build Coastguard Worker 
4608*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_load(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4609*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4610*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4611*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4612*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
4613*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4614*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4615*ab8db090SAndroid Build Coastguard Worker   int res2 ;
4616*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
4617*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
4618*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4619*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4620*ab8db090SAndroid Build Coastguard Worker 
4621*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_load",&obj0,&obj1)) SWIG_fail;
4622*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4623*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4624*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_load" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
4625*ab8db090SAndroid Build Coastguard Worker   }
4626*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4627*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4628*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4629*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_load" "', argument " "2"" of type '" "char const *""'");
4630*ab8db090SAndroid Build Coastguard Worker   }
4631*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
4632*ab8db090SAndroid Build Coastguard Worker   {
4633*ab8db090SAndroid Build Coastguard Worker     try {
4634*ab8db090SAndroid Build Coastguard Worker       (arg1)->load((char const *)arg2);
4635*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4636*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4637*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4638*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4639*ab8db090SAndroid Build Coastguard Worker     }
4640*ab8db090SAndroid Build Coastguard Worker   }
4641*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4642*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4643*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4644*ab8db090SAndroid Build Coastguard Worker fail:
4645*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4646*ab8db090SAndroid Build Coastguard Worker   return NULL;
4647*ab8db090SAndroid Build Coastguard Worker }
4648*ab8db090SAndroid Build Coastguard Worker 
4649*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_save(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4650*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4651*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4652*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4653*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
4654*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4655*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4656*ab8db090SAndroid Build Coastguard Worker   int res2 ;
4657*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
4658*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
4659*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4660*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4661*ab8db090SAndroid Build Coastguard Worker 
4662*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_save",&obj0,&obj1)) SWIG_fail;
4663*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4664*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4665*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_save" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4666*ab8db090SAndroid Build Coastguard Worker   }
4667*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4668*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4669*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4670*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_save" "', argument " "2"" of type '" "char const *""'");
4671*ab8db090SAndroid Build Coastguard Worker   }
4672*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
4673*ab8db090SAndroid Build Coastguard Worker   {
4674*ab8db090SAndroid Build Coastguard Worker     try {
4675*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Trie const *)arg1)->save((char const *)arg2);
4676*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4677*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4678*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4679*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4680*ab8db090SAndroid Build Coastguard Worker     }
4681*ab8db090SAndroid Build Coastguard Worker   }
4682*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4683*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4684*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4685*ab8db090SAndroid Build Coastguard Worker fail:
4686*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4687*ab8db090SAndroid Build Coastguard Worker   return NULL;
4688*ab8db090SAndroid Build Coastguard Worker }
4689*ab8db090SAndroid Build Coastguard Worker 
4690*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_lookup__SWIG_0(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4691*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_lookup__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4692*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4693*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4694*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg2 = 0 ;
4695*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4696*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4697*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4698*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4699*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4700*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4701*ab8db090SAndroid Build Coastguard Worker   bool result;
4702*ab8db090SAndroid Build Coastguard Worker 
4703*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_lookup",&obj0,&obj1)) SWIG_fail;
4704*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4705*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4706*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4707*ab8db090SAndroid Build Coastguard Worker   }
4708*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4709*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
4710*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4711*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4712*ab8db090SAndroid Build Coastguard Worker   }
4713*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4714*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4715*ab8db090SAndroid Build Coastguard Worker   }
4716*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
4717*ab8db090SAndroid Build Coastguard Worker   {
4718*ab8db090SAndroid Build Coastguard Worker     try {
4719*ab8db090SAndroid Build Coastguard Worker       result = (bool)((marisa_swig::Trie const *)arg1)->lookup(*arg2);
4720*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4721*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4722*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4723*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4724*ab8db090SAndroid Build Coastguard Worker     }
4725*ab8db090SAndroid Build Coastguard Worker   }
4726*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_bool(static_cast< bool >(result));
4727*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4728*ab8db090SAndroid Build Coastguard Worker fail:
4729*ab8db090SAndroid Build Coastguard Worker   return NULL;
4730*ab8db090SAndroid Build Coastguard Worker }
4731*ab8db090SAndroid Build Coastguard Worker 
4732*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_reverse_lookup__SWIG_0(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4733*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_reverse_lookup__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4734*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4735*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4736*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg2 = 0 ;
4737*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4738*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4739*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4740*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4741*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4742*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4743*ab8db090SAndroid Build Coastguard Worker 
4744*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_reverse_lookup",&obj0,&obj1)) SWIG_fail;
4745*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4746*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4747*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_reverse_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4748*ab8db090SAndroid Build Coastguard Worker   }
4749*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4750*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
4751*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4752*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4753*ab8db090SAndroid Build Coastguard Worker   }
4754*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4755*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4756*ab8db090SAndroid Build Coastguard Worker   }
4757*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
4758*ab8db090SAndroid Build Coastguard Worker   {
4759*ab8db090SAndroid Build Coastguard Worker     try {
4760*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Trie const *)arg1)->reverse_lookup(*arg2);
4761*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4762*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4763*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4764*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4765*ab8db090SAndroid Build Coastguard Worker     }
4766*ab8db090SAndroid Build Coastguard Worker   }
4767*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4768*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4769*ab8db090SAndroid Build Coastguard Worker fail:
4770*ab8db090SAndroid Build Coastguard Worker   return NULL;
4771*ab8db090SAndroid Build Coastguard Worker }
4772*ab8db090SAndroid Build Coastguard Worker 
4773*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_common_prefix_search(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4774*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_common_prefix_search(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4775*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4776*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4777*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg2 = 0 ;
4778*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4779*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4780*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4781*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4782*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4783*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4784*ab8db090SAndroid Build Coastguard Worker   bool result;
4785*ab8db090SAndroid Build Coastguard Worker 
4786*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_common_prefix_search",&obj0,&obj1)) SWIG_fail;
4787*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4788*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4789*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_common_prefix_search" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4790*ab8db090SAndroid Build Coastguard Worker   }
4791*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4792*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
4793*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4794*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_common_prefix_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4795*ab8db090SAndroid Build Coastguard Worker   }
4796*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4797*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_common_prefix_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4798*ab8db090SAndroid Build Coastguard Worker   }
4799*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
4800*ab8db090SAndroid Build Coastguard Worker   {
4801*ab8db090SAndroid Build Coastguard Worker     try {
4802*ab8db090SAndroid Build Coastguard Worker       result = (bool)((marisa_swig::Trie const *)arg1)->common_prefix_search(*arg2);
4803*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4804*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4805*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4806*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4807*ab8db090SAndroid Build Coastguard Worker     }
4808*ab8db090SAndroid Build Coastguard Worker   }
4809*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_bool(static_cast< bool >(result));
4810*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4811*ab8db090SAndroid Build Coastguard Worker fail:
4812*ab8db090SAndroid Build Coastguard Worker   return NULL;
4813*ab8db090SAndroid Build Coastguard Worker }
4814*ab8db090SAndroid Build Coastguard Worker 
4815*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_predictive_search(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4816*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_predictive_search(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4817*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4818*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4819*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Agent *arg2 = 0 ;
4820*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4821*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4822*ab8db090SAndroid Build Coastguard Worker   void *argp2 = 0 ;
4823*ab8db090SAndroid Build Coastguard Worker   int res2 = 0 ;
4824*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4825*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4826*ab8db090SAndroid Build Coastguard Worker   bool result;
4827*ab8db090SAndroid Build Coastguard Worker 
4828*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_predictive_search",&obj0,&obj1)) SWIG_fail;
4829*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4830*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4831*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_predictive_search" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4832*ab8db090SAndroid Build Coastguard Worker   }
4833*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4834*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_marisa_swig__Agent,  0 );
4835*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4836*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_predictive_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4837*ab8db090SAndroid Build Coastguard Worker   }
4838*ab8db090SAndroid Build Coastguard Worker   if (!argp2) {
4839*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Trie_predictive_search" "', argument " "2"" of type '" "marisa_swig::Agent &""'");
4840*ab8db090SAndroid Build Coastguard Worker   }
4841*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< marisa_swig::Agent * >(argp2);
4842*ab8db090SAndroid Build Coastguard Worker   {
4843*ab8db090SAndroid Build Coastguard Worker     try {
4844*ab8db090SAndroid Build Coastguard Worker       result = (bool)((marisa_swig::Trie const *)arg1)->predictive_search(*arg2);
4845*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4846*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4847*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4848*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4849*ab8db090SAndroid Build Coastguard Worker     }
4850*ab8db090SAndroid Build Coastguard Worker   }
4851*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_bool(static_cast< bool >(result));
4852*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4853*ab8db090SAndroid Build Coastguard Worker fail:
4854*ab8db090SAndroid Build Coastguard Worker   return NULL;
4855*ab8db090SAndroid Build Coastguard Worker }
4856*ab8db090SAndroid Build Coastguard Worker 
4857*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_lookup__SWIG_1(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4858*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_lookup__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4859*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4860*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4861*ab8db090SAndroid Build Coastguard Worker   char *arg2 = (char *) 0 ;
4862*ab8db090SAndroid Build Coastguard Worker   std::size_t arg3 ;
4863*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4864*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4865*ab8db090SAndroid Build Coastguard Worker   int res2 ;
4866*ab8db090SAndroid Build Coastguard Worker   char *buf2 = 0 ;
4867*ab8db090SAndroid Build Coastguard Worker   size_t size2 = 0 ;
4868*ab8db090SAndroid Build Coastguard Worker   int alloc2 = 0 ;
4869*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4870*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4871*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
4872*ab8db090SAndroid Build Coastguard Worker 
4873*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_lookup",&obj0,&obj1)) SWIG_fail;
4874*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4875*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4876*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4877*ab8db090SAndroid Build Coastguard Worker   }
4878*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4879*ab8db090SAndroid Build Coastguard Worker   res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, &size2, &alloc2);
4880*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res2)) {
4881*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Trie_lookup" "', argument " "2"" of type '" "char const *""'");
4882*ab8db090SAndroid Build Coastguard Worker   }
4883*ab8db090SAndroid Build Coastguard Worker   arg2 = reinterpret_cast< char * >(buf2);
4884*ab8db090SAndroid Build Coastguard Worker   arg3 = static_cast< std::size_t >(size2 - 1);
4885*ab8db090SAndroid Build Coastguard Worker   {
4886*ab8db090SAndroid Build Coastguard Worker     try {
4887*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->lookup((char const *)arg2,arg3);
4888*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4889*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4890*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4891*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4892*ab8db090SAndroid Build Coastguard Worker     }
4893*ab8db090SAndroid Build Coastguard Worker   }
4894*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
4895*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4896*ab8db090SAndroid Build Coastguard Worker   return resultobj;
4897*ab8db090SAndroid Build Coastguard Worker fail:
4898*ab8db090SAndroid Build Coastguard Worker   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
4899*ab8db090SAndroid Build Coastguard Worker   return NULL;
4900*ab8db090SAndroid Build Coastguard Worker }
4901*ab8db090SAndroid Build Coastguard Worker 
4902*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_lookup(PyObject * self,PyObject * args)4903*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_lookup(PyObject *self, PyObject *args) {
4904*ab8db090SAndroid Build Coastguard Worker   int argc;
4905*ab8db090SAndroid Build Coastguard Worker   PyObject *argv[3];
4906*ab8db090SAndroid Build Coastguard Worker   int ii;
4907*ab8db090SAndroid Build Coastguard Worker 
4908*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) SWIG_fail;
4909*ab8db090SAndroid Build Coastguard Worker   argc = (int)PyObject_Length(args);
4910*ab8db090SAndroid Build Coastguard Worker   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
4911*ab8db090SAndroid Build Coastguard Worker     argv[ii] = PyTuple_GET_ITEM(args,ii);
4912*ab8db090SAndroid Build Coastguard Worker   }
4913*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
4914*ab8db090SAndroid Build Coastguard Worker     int _v;
4915*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4916*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4917*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4918*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4919*ab8db090SAndroid Build Coastguard Worker       void *vptr = 0;
4920*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
4921*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
4922*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4923*ab8db090SAndroid Build Coastguard Worker         return _wrap_Trie_lookup__SWIG_0(self, args);
4924*ab8db090SAndroid Build Coastguard Worker       }
4925*ab8db090SAndroid Build Coastguard Worker     }
4926*ab8db090SAndroid Build Coastguard Worker   }
4927*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
4928*ab8db090SAndroid Build Coastguard Worker     int _v;
4929*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
4930*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
4931*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
4932*ab8db090SAndroid Build Coastguard Worker     if (_v) {
4933*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
4934*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
4935*ab8db090SAndroid Build Coastguard Worker       if (_v) {
4936*ab8db090SAndroid Build Coastguard Worker         if (argc <= 2) {
4937*ab8db090SAndroid Build Coastguard Worker           return _wrap_Trie_lookup__SWIG_1(self, args);
4938*ab8db090SAndroid Build Coastguard Worker         }
4939*ab8db090SAndroid Build Coastguard Worker         {
4940*ab8db090SAndroid Build Coastguard Worker           int res = SWIG_AsVal_size_t(argv[2], NULL);
4941*ab8db090SAndroid Build Coastguard Worker           _v = SWIG_CheckState(res);
4942*ab8db090SAndroid Build Coastguard Worker         }
4943*ab8db090SAndroid Build Coastguard Worker         if (_v) {
4944*ab8db090SAndroid Build Coastguard Worker           return _wrap_Trie_lookup__SWIG_1(self, args);
4945*ab8db090SAndroid Build Coastguard Worker         }
4946*ab8db090SAndroid Build Coastguard Worker       }
4947*ab8db090SAndroid Build Coastguard Worker     }
4948*ab8db090SAndroid Build Coastguard Worker   }
4949*ab8db090SAndroid Build Coastguard Worker 
4950*ab8db090SAndroid Build Coastguard Worker fail:
4951*ab8db090SAndroid Build Coastguard Worker   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Trie_lookup'.\n"
4952*ab8db090SAndroid Build Coastguard Worker     "  Possible C/C++ prototypes are:\n"
4953*ab8db090SAndroid Build Coastguard Worker     "    lookup(marisa_swig::Trie const *,marisa_swig::Agent &)\n"
4954*ab8db090SAndroid Build Coastguard Worker     "    lookup(marisa_swig::Trie const *,char const *,std::size_t)\n");
4955*ab8db090SAndroid Build Coastguard Worker   return NULL;
4956*ab8db090SAndroid Build Coastguard Worker }
4957*ab8db090SAndroid Build Coastguard Worker 
4958*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_reverse_lookup__SWIG_1(PyObject * SWIGUNUSEDPARM (self),PyObject * args)4959*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_reverse_lookup__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4960*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
4961*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
4962*ab8db090SAndroid Build Coastguard Worker   std::size_t arg2 ;
4963*ab8db090SAndroid Build Coastguard Worker   char **arg3 = (char **) 0 ;
4964*ab8db090SAndroid Build Coastguard Worker   std::size_t *arg4 = (std::size_t *) 0 ;
4965*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
4966*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
4967*ab8db090SAndroid Build Coastguard Worker   size_t val2 ;
4968*ab8db090SAndroid Build Coastguard Worker   int ecode2 = 0 ;
4969*ab8db090SAndroid Build Coastguard Worker   char *temp3 = 0 ;
4970*ab8db090SAndroid Build Coastguard Worker   std::size_t tempn3 ;
4971*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
4972*ab8db090SAndroid Build Coastguard Worker   PyObject * obj1 = 0 ;
4973*ab8db090SAndroid Build Coastguard Worker 
4974*ab8db090SAndroid Build Coastguard Worker   arg3 = &temp3; arg4 = &tempn3;
4975*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"OO:Trie_reverse_lookup",&obj0,&obj1)) SWIG_fail;
4976*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
4977*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
4978*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_reverse_lookup" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
4979*ab8db090SAndroid Build Coastguard Worker   }
4980*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
4981*ab8db090SAndroid Build Coastguard Worker   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
4982*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(ecode2)) {
4983*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Trie_reverse_lookup" "', argument " "2"" of type '" "std::size_t""'");
4984*ab8db090SAndroid Build Coastguard Worker   }
4985*ab8db090SAndroid Build Coastguard Worker   arg2 = static_cast< std::size_t >(val2);
4986*ab8db090SAndroid Build Coastguard Worker   {
4987*ab8db090SAndroid Build Coastguard Worker     try {
4988*ab8db090SAndroid Build Coastguard Worker       ((marisa_swig::Trie const *)arg1)->reverse_lookup(arg2,(char const **)arg3,arg4);
4989*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
4990*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
4991*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
4992*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
4993*ab8db090SAndroid Build Coastguard Worker     }
4994*ab8db090SAndroid Build Coastguard Worker   }
4995*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
4996*ab8db090SAndroid Build Coastguard Worker   if (*arg3) {
4997*ab8db090SAndroid Build Coastguard Worker     resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtrAndSize(*arg3,*arg4));
4998*ab8db090SAndroid Build Coastguard Worker     delete [] (*arg3);
4999*ab8db090SAndroid Build Coastguard Worker   }
5000*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5001*ab8db090SAndroid Build Coastguard Worker fail:
5002*ab8db090SAndroid Build Coastguard Worker   return NULL;
5003*ab8db090SAndroid Build Coastguard Worker }
5004*ab8db090SAndroid Build Coastguard Worker 
5005*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_reverse_lookup(PyObject * self,PyObject * args)5006*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_reverse_lookup(PyObject *self, PyObject *args) {
5007*ab8db090SAndroid Build Coastguard Worker   int argc;
5008*ab8db090SAndroid Build Coastguard Worker   PyObject *argv[3];
5009*ab8db090SAndroid Build Coastguard Worker   int ii;
5010*ab8db090SAndroid Build Coastguard Worker 
5011*ab8db090SAndroid Build Coastguard Worker   if (!PyTuple_Check(args)) SWIG_fail;
5012*ab8db090SAndroid Build Coastguard Worker   argc = (int)PyObject_Length(args);
5013*ab8db090SAndroid Build Coastguard Worker   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
5014*ab8db090SAndroid Build Coastguard Worker     argv[ii] = PyTuple_GET_ITEM(args,ii);
5015*ab8db090SAndroid Build Coastguard Worker   }
5016*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
5017*ab8db090SAndroid Build Coastguard Worker     int _v;
5018*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
5019*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
5020*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
5021*ab8db090SAndroid Build Coastguard Worker     if (_v) {
5022*ab8db090SAndroid Build Coastguard Worker       void *vptr = 0;
5023*ab8db090SAndroid Build Coastguard Worker       int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_marisa_swig__Agent, 0);
5024*ab8db090SAndroid Build Coastguard Worker       _v = SWIG_CheckState(res);
5025*ab8db090SAndroid Build Coastguard Worker       if (_v) {
5026*ab8db090SAndroid Build Coastguard Worker         return _wrap_Trie_reverse_lookup__SWIG_0(self, args);
5027*ab8db090SAndroid Build Coastguard Worker       }
5028*ab8db090SAndroid Build Coastguard Worker     }
5029*ab8db090SAndroid Build Coastguard Worker   }
5030*ab8db090SAndroid Build Coastguard Worker   if (argc == 2) {
5031*ab8db090SAndroid Build Coastguard Worker     int _v;
5032*ab8db090SAndroid Build Coastguard Worker     void *vptr = 0;
5033*ab8db090SAndroid Build Coastguard Worker     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_marisa_swig__Trie, 0);
5034*ab8db090SAndroid Build Coastguard Worker     _v = SWIG_CheckState(res);
5035*ab8db090SAndroid Build Coastguard Worker     if (_v) {
5036*ab8db090SAndroid Build Coastguard Worker       {
5037*ab8db090SAndroid Build Coastguard Worker         int res = SWIG_AsVal_size_t(argv[1], NULL);
5038*ab8db090SAndroid Build Coastguard Worker         _v = SWIG_CheckState(res);
5039*ab8db090SAndroid Build Coastguard Worker       }
5040*ab8db090SAndroid Build Coastguard Worker       if (_v) {
5041*ab8db090SAndroid Build Coastguard Worker         return _wrap_Trie_reverse_lookup__SWIG_1(self, args);
5042*ab8db090SAndroid Build Coastguard Worker       }
5043*ab8db090SAndroid Build Coastguard Worker     }
5044*ab8db090SAndroid Build Coastguard Worker   }
5045*ab8db090SAndroid Build Coastguard Worker 
5046*ab8db090SAndroid Build Coastguard Worker fail:
5047*ab8db090SAndroid Build Coastguard Worker   SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Trie_reverse_lookup'.\n"
5048*ab8db090SAndroid Build Coastguard Worker     "  Possible C/C++ prototypes are:\n"
5049*ab8db090SAndroid Build Coastguard Worker     "    reverse_lookup(marisa_swig::Trie const *,marisa_swig::Agent &)\n"
5050*ab8db090SAndroid Build Coastguard Worker     "    reverse_lookup(marisa_swig::Trie const *,std::size_t,char const **,std::size_t *)\n");
5051*ab8db090SAndroid Build Coastguard Worker   return NULL;
5052*ab8db090SAndroid Build Coastguard Worker }
5053*ab8db090SAndroid Build Coastguard Worker 
5054*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_num_tries(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5055*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_num_tries(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5056*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5057*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5058*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5059*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5060*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5061*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5062*ab8db090SAndroid Build Coastguard Worker 
5063*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_num_tries",&obj0)) SWIG_fail;
5064*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5065*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5066*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_tries" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5067*ab8db090SAndroid Build Coastguard Worker   }
5068*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5069*ab8db090SAndroid Build Coastguard Worker   {
5070*ab8db090SAndroid Build Coastguard Worker     try {
5071*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->num_tries();
5072*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5073*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5074*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5075*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5076*ab8db090SAndroid Build Coastguard Worker     }
5077*ab8db090SAndroid Build Coastguard Worker   }
5078*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5079*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5080*ab8db090SAndroid Build Coastguard Worker fail:
5081*ab8db090SAndroid Build Coastguard Worker   return NULL;
5082*ab8db090SAndroid Build Coastguard Worker }
5083*ab8db090SAndroid Build Coastguard Worker 
5084*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_num_keys(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5085*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_num_keys(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5086*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5087*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5088*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5089*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5090*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5091*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5092*ab8db090SAndroid Build Coastguard Worker 
5093*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_num_keys",&obj0)) SWIG_fail;
5094*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5095*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5096*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_keys" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5097*ab8db090SAndroid Build Coastguard Worker   }
5098*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5099*ab8db090SAndroid Build Coastguard Worker   {
5100*ab8db090SAndroid Build Coastguard Worker     try {
5101*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->num_keys();
5102*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5103*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5104*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5105*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5106*ab8db090SAndroid Build Coastguard Worker     }
5107*ab8db090SAndroid Build Coastguard Worker   }
5108*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5109*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5110*ab8db090SAndroid Build Coastguard Worker fail:
5111*ab8db090SAndroid Build Coastguard Worker   return NULL;
5112*ab8db090SAndroid Build Coastguard Worker }
5113*ab8db090SAndroid Build Coastguard Worker 
5114*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_num_nodes(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5115*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_num_nodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5116*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5117*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5118*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5119*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5120*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5121*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5122*ab8db090SAndroid Build Coastguard Worker 
5123*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_num_nodes",&obj0)) SWIG_fail;
5124*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5125*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5126*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_num_nodes" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5127*ab8db090SAndroid Build Coastguard Worker   }
5128*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5129*ab8db090SAndroid Build Coastguard Worker   {
5130*ab8db090SAndroid Build Coastguard Worker     try {
5131*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->num_nodes();
5132*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5133*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5134*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5135*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5136*ab8db090SAndroid Build Coastguard Worker     }
5137*ab8db090SAndroid Build Coastguard Worker   }
5138*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5139*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5140*ab8db090SAndroid Build Coastguard Worker fail:
5141*ab8db090SAndroid Build Coastguard Worker   return NULL;
5142*ab8db090SAndroid Build Coastguard Worker }
5143*ab8db090SAndroid Build Coastguard Worker 
5144*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_tail_mode(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5145*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_tail_mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5146*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5147*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5148*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5149*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5150*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5151*ab8db090SAndroid Build Coastguard Worker   marisa_swig::TailMode result;
5152*ab8db090SAndroid Build Coastguard Worker 
5153*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_tail_mode",&obj0)) SWIG_fail;
5154*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5155*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5156*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_tail_mode" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5157*ab8db090SAndroid Build Coastguard Worker   }
5158*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5159*ab8db090SAndroid Build Coastguard Worker   {
5160*ab8db090SAndroid Build Coastguard Worker     try {
5161*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::TailMode)((marisa_swig::Trie const *)arg1)->tail_mode();
5162*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5163*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5164*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5165*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5166*ab8db090SAndroid Build Coastguard Worker     }
5167*ab8db090SAndroid Build Coastguard Worker   }
5168*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_int(static_cast< int >(result));
5169*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5170*ab8db090SAndroid Build Coastguard Worker fail:
5171*ab8db090SAndroid Build Coastguard Worker   return NULL;
5172*ab8db090SAndroid Build Coastguard Worker }
5173*ab8db090SAndroid Build Coastguard Worker 
5174*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_node_order(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5175*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_node_order(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5176*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5177*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5178*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5179*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5180*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5181*ab8db090SAndroid Build Coastguard Worker   marisa_swig::NodeOrder result;
5182*ab8db090SAndroid Build Coastguard Worker 
5183*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_node_order",&obj0)) SWIG_fail;
5184*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5185*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5186*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_node_order" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5187*ab8db090SAndroid Build Coastguard Worker   }
5188*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5189*ab8db090SAndroid Build Coastguard Worker   {
5190*ab8db090SAndroid Build Coastguard Worker     try {
5191*ab8db090SAndroid Build Coastguard Worker       result = (marisa_swig::NodeOrder)((marisa_swig::Trie const *)arg1)->node_order();
5192*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5193*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5194*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5195*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5196*ab8db090SAndroid Build Coastguard Worker     }
5197*ab8db090SAndroid Build Coastguard Worker   }
5198*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_int(static_cast< int >(result));
5199*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5200*ab8db090SAndroid Build Coastguard Worker fail:
5201*ab8db090SAndroid Build Coastguard Worker   return NULL;
5202*ab8db090SAndroid Build Coastguard Worker }
5203*ab8db090SAndroid Build Coastguard Worker 
5204*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_empty(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5205*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5206*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5207*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5208*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5209*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5210*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5211*ab8db090SAndroid Build Coastguard Worker   bool result;
5212*ab8db090SAndroid Build Coastguard Worker 
5213*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_empty",&obj0)) SWIG_fail;
5214*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5215*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5216*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_empty" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5217*ab8db090SAndroid Build Coastguard Worker   }
5218*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5219*ab8db090SAndroid Build Coastguard Worker   {
5220*ab8db090SAndroid Build Coastguard Worker     try {
5221*ab8db090SAndroid Build Coastguard Worker       result = (bool)((marisa_swig::Trie const *)arg1)->empty();
5222*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5223*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5224*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5225*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5226*ab8db090SAndroid Build Coastguard Worker     }
5227*ab8db090SAndroid Build Coastguard Worker   }
5228*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_bool(static_cast< bool >(result));
5229*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5230*ab8db090SAndroid Build Coastguard Worker fail:
5231*ab8db090SAndroid Build Coastguard Worker   return NULL;
5232*ab8db090SAndroid Build Coastguard Worker }
5233*ab8db090SAndroid Build Coastguard Worker 
5234*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_size(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5235*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5236*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5237*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5238*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5239*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5240*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5241*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5242*ab8db090SAndroid Build Coastguard Worker 
5243*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_size",&obj0)) SWIG_fail;
5244*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5245*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5246*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5247*ab8db090SAndroid Build Coastguard Worker   }
5248*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5249*ab8db090SAndroid Build Coastguard Worker   {
5250*ab8db090SAndroid Build Coastguard Worker     try {
5251*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->size();
5252*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5253*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5254*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5255*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5256*ab8db090SAndroid Build Coastguard Worker     }
5257*ab8db090SAndroid Build Coastguard Worker   }
5258*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5259*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5260*ab8db090SAndroid Build Coastguard Worker fail:
5261*ab8db090SAndroid Build Coastguard Worker   return NULL;
5262*ab8db090SAndroid Build Coastguard Worker }
5263*ab8db090SAndroid Build Coastguard Worker 
5264*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_total_size(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5265*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_total_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5266*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5267*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5268*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5269*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5270*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5271*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5272*ab8db090SAndroid Build Coastguard Worker 
5273*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_total_size",&obj0)) SWIG_fail;
5274*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5275*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5276*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_total_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5277*ab8db090SAndroid Build Coastguard Worker   }
5278*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5279*ab8db090SAndroid Build Coastguard Worker   {
5280*ab8db090SAndroid Build Coastguard Worker     try {
5281*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->total_size();
5282*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5283*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5284*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5285*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5286*ab8db090SAndroid Build Coastguard Worker     }
5287*ab8db090SAndroid Build Coastguard Worker   }
5288*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5289*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5290*ab8db090SAndroid Build Coastguard Worker fail:
5291*ab8db090SAndroid Build Coastguard Worker   return NULL;
5292*ab8db090SAndroid Build Coastguard Worker }
5293*ab8db090SAndroid Build Coastguard Worker 
5294*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_io_size(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5295*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_io_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5296*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5297*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5298*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5299*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5300*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5301*ab8db090SAndroid Build Coastguard Worker   std::size_t result;
5302*ab8db090SAndroid Build Coastguard Worker 
5303*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_io_size",&obj0)) SWIG_fail;
5304*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5305*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5306*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_io_size" "', argument " "1"" of type '" "marisa_swig::Trie const *""'");
5307*ab8db090SAndroid Build Coastguard Worker   }
5308*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5309*ab8db090SAndroid Build Coastguard Worker   {
5310*ab8db090SAndroid Build Coastguard Worker     try {
5311*ab8db090SAndroid Build Coastguard Worker       result = ((marisa_swig::Trie const *)arg1)->io_size();
5312*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5313*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5314*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5315*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5316*ab8db090SAndroid Build Coastguard Worker     }
5317*ab8db090SAndroid Build Coastguard Worker   }
5318*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
5319*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5320*ab8db090SAndroid Build Coastguard Worker fail:
5321*ab8db090SAndroid Build Coastguard Worker   return NULL;
5322*ab8db090SAndroid Build Coastguard Worker }
5323*ab8db090SAndroid Build Coastguard Worker 
5324*ab8db090SAndroid Build Coastguard Worker 
_wrap_Trie_clear(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5325*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *_wrap_Trie_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5326*ab8db090SAndroid Build Coastguard Worker   PyObject *resultobj = 0;
5327*ab8db090SAndroid Build Coastguard Worker   marisa_swig::Trie *arg1 = (marisa_swig::Trie *) 0 ;
5328*ab8db090SAndroid Build Coastguard Worker   void *argp1 = 0 ;
5329*ab8db090SAndroid Build Coastguard Worker   int res1 = 0 ;
5330*ab8db090SAndroid Build Coastguard Worker   PyObject * obj0 = 0 ;
5331*ab8db090SAndroid Build Coastguard Worker 
5332*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char *)"O:Trie_clear",&obj0)) SWIG_fail;
5333*ab8db090SAndroid Build Coastguard Worker   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_marisa_swig__Trie, 0 |  0 );
5334*ab8db090SAndroid Build Coastguard Worker   if (!SWIG_IsOK(res1)) {
5335*ab8db090SAndroid Build Coastguard Worker     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Trie_clear" "', argument " "1"" of type '" "marisa_swig::Trie *""'");
5336*ab8db090SAndroid Build Coastguard Worker   }
5337*ab8db090SAndroid Build Coastguard Worker   arg1 = reinterpret_cast< marisa_swig::Trie * >(argp1);
5338*ab8db090SAndroid Build Coastguard Worker   {
5339*ab8db090SAndroid Build Coastguard Worker     try {
5340*ab8db090SAndroid Build Coastguard Worker       (arg1)->clear();
5341*ab8db090SAndroid Build Coastguard Worker     } catch (const marisa::Exception &ex) {
5342*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_RuntimeError, ex.what());
5343*ab8db090SAndroid Build Coastguard Worker     } catch (...) {
5344*ab8db090SAndroid Build Coastguard Worker       SWIG_exception(SWIG_UnknownError,"Unknown exception");
5345*ab8db090SAndroid Build Coastguard Worker     }
5346*ab8db090SAndroid Build Coastguard Worker   }
5347*ab8db090SAndroid Build Coastguard Worker   resultobj = SWIG_Py_Void();
5348*ab8db090SAndroid Build Coastguard Worker   return resultobj;
5349*ab8db090SAndroid Build Coastguard Worker fail:
5350*ab8db090SAndroid Build Coastguard Worker   return NULL;
5351*ab8db090SAndroid Build Coastguard Worker }
5352*ab8db090SAndroid Build Coastguard Worker 
5353*ab8db090SAndroid Build Coastguard Worker 
Trie_swigregister(PyObject * SWIGUNUSEDPARM (self),PyObject * args)5354*ab8db090SAndroid Build Coastguard Worker SWIGINTERN PyObject *Trie_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5355*ab8db090SAndroid Build Coastguard Worker   PyObject *obj;
5356*ab8db090SAndroid Build Coastguard Worker   if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
5357*ab8db090SAndroid Build Coastguard Worker   SWIG_TypeNewClientData(SWIGTYPE_p_marisa_swig__Trie, SWIG_NewClientData(obj));
5358*ab8db090SAndroid Build Coastguard Worker   return SWIG_Py_Void();
5359*ab8db090SAndroid Build Coastguard Worker }
5360*ab8db090SAndroid Build Coastguard Worker 
5361*ab8db090SAndroid Build Coastguard Worker static PyMethodDef SwigMethods[] = {
5362*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL},
5363*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Key_str", _wrap_Key_str, METH_VARARGS, NULL},
5364*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Key_id", _wrap_Key_id, METH_VARARGS, NULL},
5365*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Key_weight", _wrap_Key_weight, METH_VARARGS, NULL},
5366*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"delete_Key", _wrap_delete_Key, METH_VARARGS, NULL},
5367*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Key_swigregister", Key_swigregister, METH_VARARGS, NULL},
5368*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Query_str", _wrap_Query_str, METH_VARARGS, NULL},
5369*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Query_id", _wrap_Query_id, METH_VARARGS, NULL},
5370*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"delete_Query", _wrap_delete_Query, METH_VARARGS, NULL},
5371*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Query_swigregister", Query_swigregister, METH_VARARGS, NULL},
5372*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"new_Keyset", _wrap_new_Keyset, METH_VARARGS, NULL},
5373*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"delete_Keyset", _wrap_delete_Keyset, METH_VARARGS, NULL},
5374*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_push_back", _wrap_Keyset_push_back, METH_VARARGS, NULL},
5375*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_key", _wrap_Keyset_key, METH_VARARGS, NULL},
5376*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_key_str", _wrap_Keyset_key_str, METH_VARARGS, NULL},
5377*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_key_id", _wrap_Keyset_key_id, METH_VARARGS, NULL},
5378*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_num_keys", _wrap_Keyset_num_keys, METH_VARARGS, NULL},
5379*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_empty", _wrap_Keyset_empty, METH_VARARGS, NULL},
5380*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_size", _wrap_Keyset_size, METH_VARARGS, NULL},
5381*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_total_length", _wrap_Keyset_total_length, METH_VARARGS, NULL},
5382*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_reset", _wrap_Keyset_reset, METH_VARARGS, NULL},
5383*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_clear", _wrap_Keyset_clear, METH_VARARGS, NULL},
5384*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Keyset_swigregister", Keyset_swigregister, METH_VARARGS, NULL},
5385*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"new_Agent", _wrap_new_Agent, METH_VARARGS, NULL},
5386*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"delete_Agent", _wrap_delete_Agent, METH_VARARGS, NULL},
5387*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_set_query", _wrap_Agent_set_query, METH_VARARGS, NULL},
5388*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_key", _wrap_Agent_key, METH_VARARGS, NULL},
5389*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_query", _wrap_Agent_query, METH_VARARGS, NULL},
5390*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_key_str", _wrap_Agent_key_str, METH_VARARGS, NULL},
5391*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_key_id", _wrap_Agent_key_id, METH_VARARGS, NULL},
5392*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_query_str", _wrap_Agent_query_str, METH_VARARGS, NULL},
5393*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_query_id", _wrap_Agent_query_id, METH_VARARGS, NULL},
5394*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Agent_swigregister", Agent_swigregister, METH_VARARGS, NULL},
5395*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"new_Trie", _wrap_new_Trie, METH_VARARGS, NULL},
5396*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"delete_Trie", _wrap_delete_Trie, METH_VARARGS, NULL},
5397*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_build", _wrap_Trie_build, METH_VARARGS, NULL},
5398*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_mmap", _wrap_Trie_mmap, METH_VARARGS, NULL},
5399*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_load", _wrap_Trie_load, METH_VARARGS, NULL},
5400*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_save", _wrap_Trie_save, METH_VARARGS, NULL},
5401*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_common_prefix_search", _wrap_Trie_common_prefix_search, METH_VARARGS, NULL},
5402*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_predictive_search", _wrap_Trie_predictive_search, METH_VARARGS, NULL},
5403*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_lookup", _wrap_Trie_lookup, METH_VARARGS, NULL},
5404*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_reverse_lookup", _wrap_Trie_reverse_lookup, METH_VARARGS, NULL},
5405*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_num_tries", _wrap_Trie_num_tries, METH_VARARGS, NULL},
5406*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_num_keys", _wrap_Trie_num_keys, METH_VARARGS, NULL},
5407*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_num_nodes", _wrap_Trie_num_nodes, METH_VARARGS, NULL},
5408*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_tail_mode", _wrap_Trie_tail_mode, METH_VARARGS, NULL},
5409*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_node_order", _wrap_Trie_node_order, METH_VARARGS, NULL},
5410*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_empty", _wrap_Trie_empty, METH_VARARGS, NULL},
5411*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_size", _wrap_Trie_size, METH_VARARGS, NULL},
5412*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_total_size", _wrap_Trie_total_size, METH_VARARGS, NULL},
5413*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_io_size", _wrap_Trie_io_size, METH_VARARGS, NULL},
5414*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_clear", _wrap_Trie_clear, METH_VARARGS, NULL},
5415*ab8db090SAndroid Build Coastguard Worker 	 { (char *)"Trie_swigregister", Trie_swigregister, METH_VARARGS, NULL},
5416*ab8db090SAndroid Build Coastguard Worker 	 { NULL, NULL, 0, NULL }
5417*ab8db090SAndroid Build Coastguard Worker };
5418*ab8db090SAndroid Build Coastguard Worker 
5419*ab8db090SAndroid Build Coastguard Worker 
5420*ab8db090SAndroid Build Coastguard Worker /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
5421*ab8db090SAndroid Build Coastguard Worker 
5422*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
5423*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa__Key = {"_p_marisa__Key", "marisa::Key *", 0, 0, (void*)0, 0};
5424*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Agent = {"_p_marisa_swig__Agent", "marisa_swig::Agent *", 0, 0, (void*)0, 0};
5425*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Key = {"_p_marisa_swig__Key", "marisa_swig::Key *", 0, 0, (void*)0, 0};
5426*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Keyset = {"_p_marisa_swig__Keyset", "marisa_swig::Keyset *", 0, 0, (void*)0, 0};
5427*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Query = {"_p_marisa_swig__Query", "marisa_swig::Query *", 0, 0, (void*)0, 0};
5428*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_marisa_swig__Trie = {"_p_marisa_swig__Trie", "marisa_swig::Trie *", 0, 0, (void*)0, 0};
5429*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
5430*ab8db090SAndroid Build Coastguard Worker static swig_type_info _swigt__p_std__size_t = {"_p_std__size_t", "std::size_t *", 0, 0, (void*)0, 0};
5431*ab8db090SAndroid Build Coastguard Worker 
5432*ab8db090SAndroid Build Coastguard Worker static swig_type_info *swig_type_initial[] = {
5433*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_char,
5434*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa__Key,
5435*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Agent,
5436*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Key,
5437*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Keyset,
5438*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Query,
5439*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_marisa_swig__Trie,
5440*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_p_char,
5441*ab8db090SAndroid Build Coastguard Worker   &_swigt__p_std__size_t,
5442*ab8db090SAndroid Build Coastguard Worker };
5443*ab8db090SAndroid Build Coastguard Worker 
5444*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
5445*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa__Key[] = {  {&_swigt__p_marisa__Key, 0, 0, 0},{0, 0, 0, 0}};
5446*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Agent[] = {  {&_swigt__p_marisa_swig__Agent, 0, 0, 0},{0, 0, 0, 0}};
5447*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Key[] = {  {&_swigt__p_marisa_swig__Key, 0, 0, 0},{0, 0, 0, 0}};
5448*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Keyset[] = {  {&_swigt__p_marisa_swig__Keyset, 0, 0, 0},{0, 0, 0, 0}};
5449*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Query[] = {  {&_swigt__p_marisa_swig__Query, 0, 0, 0},{0, 0, 0, 0}};
5450*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_marisa_swig__Trie[] = {  {&_swigt__p_marisa_swig__Trie, 0, 0, 0},{0, 0, 0, 0}};
5451*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
5452*ab8db090SAndroid Build Coastguard Worker static swig_cast_info _swigc__p_std__size_t[] = {  {&_swigt__p_std__size_t, 0, 0, 0},{0, 0, 0, 0}};
5453*ab8db090SAndroid Build Coastguard Worker 
5454*ab8db090SAndroid Build Coastguard Worker static swig_cast_info *swig_cast_initial[] = {
5455*ab8db090SAndroid Build Coastguard Worker   _swigc__p_char,
5456*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa__Key,
5457*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Agent,
5458*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Key,
5459*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Keyset,
5460*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Query,
5461*ab8db090SAndroid Build Coastguard Worker   _swigc__p_marisa_swig__Trie,
5462*ab8db090SAndroid Build Coastguard Worker   _swigc__p_p_char,
5463*ab8db090SAndroid Build Coastguard Worker   _swigc__p_std__size_t,
5464*ab8db090SAndroid Build Coastguard Worker };
5465*ab8db090SAndroid Build Coastguard Worker 
5466*ab8db090SAndroid Build Coastguard Worker 
5467*ab8db090SAndroid Build Coastguard Worker /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
5468*ab8db090SAndroid Build Coastguard Worker 
5469*ab8db090SAndroid Build Coastguard Worker static swig_const_info swig_const_table[] = {
5470*ab8db090SAndroid Build Coastguard Worker {0, 0, 0, 0.0, 0, 0}};
5471*ab8db090SAndroid Build Coastguard Worker 
5472*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
5473*ab8db090SAndroid Build Coastguard Worker }
5474*ab8db090SAndroid Build Coastguard Worker #endif
5475*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------
5476*ab8db090SAndroid Build Coastguard Worker  * Type initialization:
5477*ab8db090SAndroid Build Coastguard Worker  * This problem is tough by the requirement that no dynamic
5478*ab8db090SAndroid Build Coastguard Worker  * memory is used. Also, since swig_type_info structures store pointers to
5479*ab8db090SAndroid Build Coastguard Worker  * swig_cast_info structures and swig_cast_info structures store pointers back
5480*ab8db090SAndroid Build Coastguard Worker  * to swig_type_info structures, we need some lookup code at initialization.
5481*ab8db090SAndroid Build Coastguard Worker  * The idea is that swig generates all the structures that are needed.
5482*ab8db090SAndroid Build Coastguard Worker  * The runtime then collects these partially filled structures.
5483*ab8db090SAndroid Build Coastguard Worker  * The SWIG_InitializeModule function takes these initial arrays out of
5484*ab8db090SAndroid Build Coastguard Worker  * swig_module, and does all the lookup, filling in the swig_module.types
5485*ab8db090SAndroid Build Coastguard Worker  * array with the correct data and linking the correct swig_cast_info
5486*ab8db090SAndroid Build Coastguard Worker  * structures together.
5487*ab8db090SAndroid Build Coastguard Worker  *
5488*ab8db090SAndroid Build Coastguard Worker  * The generated swig_type_info structures are assigned staticly to an initial
5489*ab8db090SAndroid Build Coastguard Worker  * array. We just loop through that array, and handle each type individually.
5490*ab8db090SAndroid Build Coastguard Worker  * First we lookup if this type has been already loaded, and if so, use the
5491*ab8db090SAndroid Build Coastguard Worker  * loaded structure instead of the generated one. Then we have to fill in the
5492*ab8db090SAndroid Build Coastguard Worker  * cast linked list. The cast data is initially stored in something like a
5493*ab8db090SAndroid Build Coastguard Worker  * two-dimensional array. Each row corresponds to a type (there are the same
5494*ab8db090SAndroid Build Coastguard Worker  * number of rows as there are in the swig_type_initial array). Each entry in
5495*ab8db090SAndroid Build Coastguard Worker  * a column is one of the swig_cast_info structures for that type.
5496*ab8db090SAndroid Build Coastguard Worker  * The cast_initial array is actually an array of arrays, because each row has
5497*ab8db090SAndroid Build Coastguard Worker  * a variable number of columns. So to actually build the cast linked list,
5498*ab8db090SAndroid Build Coastguard Worker  * we find the array of casts associated with the type, and loop through it
5499*ab8db090SAndroid Build Coastguard Worker  * adding the casts to the list. The one last trick we need to do is making
5500*ab8db090SAndroid Build Coastguard Worker  * sure the type pointer in the swig_cast_info struct is correct.
5501*ab8db090SAndroid Build Coastguard Worker  *
5502*ab8db090SAndroid Build Coastguard Worker  * First off, we lookup the cast->type name to see if it is already loaded.
5503*ab8db090SAndroid Build Coastguard Worker  * There are three cases to handle:
5504*ab8db090SAndroid Build Coastguard Worker  *  1) If the cast->type has already been loaded AND the type we are adding
5505*ab8db090SAndroid Build Coastguard Worker  *     casting info to has not been loaded (it is in this module), THEN we
5506*ab8db090SAndroid Build Coastguard Worker  *     replace the cast->type pointer with the type pointer that has already
5507*ab8db090SAndroid Build Coastguard Worker  *     been loaded.
5508*ab8db090SAndroid Build Coastguard Worker  *  2) If BOTH types (the one we are adding casting info to, and the
5509*ab8db090SAndroid Build Coastguard Worker  *     cast->type) are loaded, THEN the cast info has already been loaded by
5510*ab8db090SAndroid Build Coastguard Worker  *     the previous module so we just ignore it.
5511*ab8db090SAndroid Build Coastguard Worker  *  3) Finally, if cast->type has not already been loaded, then we add that
5512*ab8db090SAndroid Build Coastguard Worker  *     swig_cast_info to the linked list (because the cast->type) pointer will
5513*ab8db090SAndroid Build Coastguard Worker  *     be correct.
5514*ab8db090SAndroid Build Coastguard Worker  * ----------------------------------------------------------------------------- */
5515*ab8db090SAndroid Build Coastguard Worker 
5516*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
5517*ab8db090SAndroid Build Coastguard Worker extern "C" {
5518*ab8db090SAndroid Build Coastguard Worker #if 0
5519*ab8db090SAndroid Build Coastguard Worker } /* c-mode */
5520*ab8db090SAndroid Build Coastguard Worker #endif
5521*ab8db090SAndroid Build Coastguard Worker #endif
5522*ab8db090SAndroid Build Coastguard Worker 
5523*ab8db090SAndroid Build Coastguard Worker #if 0
5524*ab8db090SAndroid Build Coastguard Worker #define SWIGRUNTIME_DEBUG
5525*ab8db090SAndroid Build Coastguard Worker #endif
5526*ab8db090SAndroid Build Coastguard Worker 
5527*ab8db090SAndroid Build Coastguard Worker 
5528*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)5529*ab8db090SAndroid Build Coastguard Worker SWIG_InitializeModule(void *clientdata) {
5530*ab8db090SAndroid Build Coastguard Worker   size_t i;
5531*ab8db090SAndroid Build Coastguard Worker   swig_module_info *module_head, *iter;
5532*ab8db090SAndroid Build Coastguard Worker   int found, init;
5533*ab8db090SAndroid Build Coastguard Worker 
5534*ab8db090SAndroid Build Coastguard Worker   clientdata = clientdata;
5535*ab8db090SAndroid Build Coastguard Worker 
5536*ab8db090SAndroid Build Coastguard Worker   /* check to see if the circular list has been setup, if not, set it up */
5537*ab8db090SAndroid Build Coastguard Worker   if (swig_module.next==0) {
5538*ab8db090SAndroid Build Coastguard Worker     /* Initialize the swig_module */
5539*ab8db090SAndroid Build Coastguard Worker     swig_module.type_initial = swig_type_initial;
5540*ab8db090SAndroid Build Coastguard Worker     swig_module.cast_initial = swig_cast_initial;
5541*ab8db090SAndroid Build Coastguard Worker     swig_module.next = &swig_module;
5542*ab8db090SAndroid Build Coastguard Worker     init = 1;
5543*ab8db090SAndroid Build Coastguard Worker   } else {
5544*ab8db090SAndroid Build Coastguard Worker     init = 0;
5545*ab8db090SAndroid Build Coastguard Worker   }
5546*ab8db090SAndroid Build Coastguard Worker 
5547*ab8db090SAndroid Build Coastguard Worker   /* Try and load any already created modules */
5548*ab8db090SAndroid Build Coastguard Worker   module_head = SWIG_GetModule(clientdata);
5549*ab8db090SAndroid Build Coastguard Worker   if (!module_head) {
5550*ab8db090SAndroid Build Coastguard Worker     /* This is the first module loaded for this interpreter */
5551*ab8db090SAndroid Build Coastguard Worker     /* so set the swig module into the interpreter */
5552*ab8db090SAndroid Build Coastguard Worker     SWIG_SetModule(clientdata, &swig_module);
5553*ab8db090SAndroid Build Coastguard Worker     module_head = &swig_module;
5554*ab8db090SAndroid Build Coastguard Worker   } else {
5555*ab8db090SAndroid Build Coastguard Worker     /* the interpreter has loaded a SWIG module, but has it loaded this one? */
5556*ab8db090SAndroid Build Coastguard Worker     found=0;
5557*ab8db090SAndroid Build Coastguard Worker     iter=module_head;
5558*ab8db090SAndroid Build Coastguard Worker     do {
5559*ab8db090SAndroid Build Coastguard Worker       if (iter==&swig_module) {
5560*ab8db090SAndroid Build Coastguard Worker         found=1;
5561*ab8db090SAndroid Build Coastguard Worker         break;
5562*ab8db090SAndroid Build Coastguard Worker       }
5563*ab8db090SAndroid Build Coastguard Worker       iter=iter->next;
5564*ab8db090SAndroid Build Coastguard Worker     } while (iter!= module_head);
5565*ab8db090SAndroid Build Coastguard Worker 
5566*ab8db090SAndroid Build Coastguard Worker     /* if the is found in the list, then all is done and we may leave */
5567*ab8db090SAndroid Build Coastguard Worker     if (found) return;
5568*ab8db090SAndroid Build Coastguard Worker     /* otherwise we must add out module into the list */
5569*ab8db090SAndroid Build Coastguard Worker     swig_module.next = module_head->next;
5570*ab8db090SAndroid Build Coastguard Worker     module_head->next = &swig_module;
5571*ab8db090SAndroid Build Coastguard Worker   }
5572*ab8db090SAndroid Build Coastguard Worker 
5573*ab8db090SAndroid Build Coastguard Worker   /* When multiple interpeters are used, a module could have already been initialized in
5574*ab8db090SAndroid Build Coastguard Worker        a different interpreter, but not yet have a pointer in this interpreter.
5575*ab8db090SAndroid Build Coastguard Worker        In this case, we do not want to continue adding types... everything should be
5576*ab8db090SAndroid Build Coastguard Worker        set up already */
5577*ab8db090SAndroid Build Coastguard Worker   if (init == 0) return;
5578*ab8db090SAndroid Build Coastguard Worker 
5579*ab8db090SAndroid Build Coastguard Worker   /* Now work on filling in swig_module.types */
5580*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5581*ab8db090SAndroid Build Coastguard Worker   printf("SWIG_InitializeModule: size %d\n", swig_module.size);
5582*ab8db090SAndroid Build Coastguard Worker #endif
5583*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; ++i) {
5584*ab8db090SAndroid Build Coastguard Worker     swig_type_info *type = 0;
5585*ab8db090SAndroid Build Coastguard Worker     swig_type_info *ret;
5586*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *cast;
5587*ab8db090SAndroid Build Coastguard Worker 
5588*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5589*ab8db090SAndroid Build Coastguard Worker     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
5590*ab8db090SAndroid Build Coastguard Worker #endif
5591*ab8db090SAndroid Build Coastguard Worker 
5592*ab8db090SAndroid Build Coastguard Worker     /* if there is another module already loaded */
5593*ab8db090SAndroid Build Coastguard Worker     if (swig_module.next != &swig_module) {
5594*ab8db090SAndroid Build Coastguard Worker       type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
5595*ab8db090SAndroid Build Coastguard Worker     }
5596*ab8db090SAndroid Build Coastguard Worker     if (type) {
5597*ab8db090SAndroid Build Coastguard Worker       /* Overwrite clientdata field */
5598*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5599*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: found type %s\n", type->name);
5600*ab8db090SAndroid Build Coastguard Worker #endif
5601*ab8db090SAndroid Build Coastguard Worker       if (swig_module.type_initial[i]->clientdata) {
5602*ab8db090SAndroid Build Coastguard Worker         type->clientdata = swig_module.type_initial[i]->clientdata;
5603*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5604*ab8db090SAndroid Build Coastguard Worker         printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
5605*ab8db090SAndroid Build Coastguard Worker #endif
5606*ab8db090SAndroid Build Coastguard Worker       }
5607*ab8db090SAndroid Build Coastguard Worker     } else {
5608*ab8db090SAndroid Build Coastguard Worker       type = swig_module.type_initial[i];
5609*ab8db090SAndroid Build Coastguard Worker     }
5610*ab8db090SAndroid Build Coastguard Worker 
5611*ab8db090SAndroid Build Coastguard Worker     /* Insert casting types */
5612*ab8db090SAndroid Build Coastguard Worker     cast = swig_module.cast_initial[i];
5613*ab8db090SAndroid Build Coastguard Worker     while (cast->type) {
5614*ab8db090SAndroid Build Coastguard Worker       /* Don't need to add information already in the list */
5615*ab8db090SAndroid Build Coastguard Worker       ret = 0;
5616*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5617*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
5618*ab8db090SAndroid Build Coastguard Worker #endif
5619*ab8db090SAndroid Build Coastguard Worker       if (swig_module.next != &swig_module) {
5620*ab8db090SAndroid Build Coastguard Worker         ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
5621*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5622*ab8db090SAndroid Build Coastguard Worker         if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
5623*ab8db090SAndroid Build Coastguard Worker #endif
5624*ab8db090SAndroid Build Coastguard Worker       }
5625*ab8db090SAndroid Build Coastguard Worker       if (ret) {
5626*ab8db090SAndroid Build Coastguard Worker         if (type == swig_module.type_initial[i]) {
5627*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5628*ab8db090SAndroid Build Coastguard Worker           printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
5629*ab8db090SAndroid Build Coastguard Worker #endif
5630*ab8db090SAndroid Build Coastguard Worker           cast->type = ret;
5631*ab8db090SAndroid Build Coastguard Worker           ret = 0;
5632*ab8db090SAndroid Build Coastguard Worker         } else {
5633*ab8db090SAndroid Build Coastguard Worker           /* Check for casting already in the list */
5634*ab8db090SAndroid Build Coastguard Worker           swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
5635*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5636*ab8db090SAndroid Build Coastguard Worker           if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
5637*ab8db090SAndroid Build Coastguard Worker #endif
5638*ab8db090SAndroid Build Coastguard Worker           if (!ocast) ret = 0;
5639*ab8db090SAndroid Build Coastguard Worker         }
5640*ab8db090SAndroid Build Coastguard Worker       }
5641*ab8db090SAndroid Build Coastguard Worker 
5642*ab8db090SAndroid Build Coastguard Worker       if (!ret) {
5643*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5644*ab8db090SAndroid Build Coastguard Worker         printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
5645*ab8db090SAndroid Build Coastguard Worker #endif
5646*ab8db090SAndroid Build Coastguard Worker         if (type->cast) {
5647*ab8db090SAndroid Build Coastguard Worker           type->cast->prev = cast;
5648*ab8db090SAndroid Build Coastguard Worker           cast->next = type->cast;
5649*ab8db090SAndroid Build Coastguard Worker         }
5650*ab8db090SAndroid Build Coastguard Worker         type->cast = cast;
5651*ab8db090SAndroid Build Coastguard Worker       }
5652*ab8db090SAndroid Build Coastguard Worker       cast++;
5653*ab8db090SAndroid Build Coastguard Worker     }
5654*ab8db090SAndroid Build Coastguard Worker     /* Set entry in modules->types array equal to the type */
5655*ab8db090SAndroid Build Coastguard Worker     swig_module.types[i] = type;
5656*ab8db090SAndroid Build Coastguard Worker   }
5657*ab8db090SAndroid Build Coastguard Worker   swig_module.types[i] = 0;
5658*ab8db090SAndroid Build Coastguard Worker 
5659*ab8db090SAndroid Build Coastguard Worker #ifdef SWIGRUNTIME_DEBUG
5660*ab8db090SAndroid Build Coastguard Worker   printf("**** SWIG_InitializeModule: Cast List ******\n");
5661*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; ++i) {
5662*ab8db090SAndroid Build Coastguard Worker     int j = 0;
5663*ab8db090SAndroid Build Coastguard Worker     swig_cast_info *cast = swig_module.cast_initial[i];
5664*ab8db090SAndroid Build Coastguard Worker     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
5665*ab8db090SAndroid Build Coastguard Worker     while (cast->type) {
5666*ab8db090SAndroid Build Coastguard Worker       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
5667*ab8db090SAndroid Build Coastguard Worker       cast++;
5668*ab8db090SAndroid Build Coastguard Worker       ++j;
5669*ab8db090SAndroid Build Coastguard Worker     }
5670*ab8db090SAndroid Build Coastguard Worker     printf("---- Total casts: %d\n",j);
5671*ab8db090SAndroid Build Coastguard Worker   }
5672*ab8db090SAndroid Build Coastguard Worker   printf("**** SWIG_InitializeModule: Cast List ******\n");
5673*ab8db090SAndroid Build Coastguard Worker #endif
5674*ab8db090SAndroid Build Coastguard Worker }
5675*ab8db090SAndroid Build Coastguard Worker 
5676*ab8db090SAndroid Build Coastguard Worker /* This function will propagate the clientdata field of type to
5677*ab8db090SAndroid Build Coastguard Worker * any new swig_type_info structures that have been added into the list
5678*ab8db090SAndroid Build Coastguard Worker * of equivalent types.  It is like calling
5679*ab8db090SAndroid Build Coastguard Worker * SWIG_TypeClientData(type, clientdata) a second time.
5680*ab8db090SAndroid Build Coastguard Worker */
5681*ab8db090SAndroid Build Coastguard Worker SWIGRUNTIME void
SWIG_PropagateClientData(void)5682*ab8db090SAndroid Build Coastguard Worker SWIG_PropagateClientData(void) {
5683*ab8db090SAndroid Build Coastguard Worker   size_t i;
5684*ab8db090SAndroid Build Coastguard Worker   swig_cast_info *equiv;
5685*ab8db090SAndroid Build Coastguard Worker   static int init_run = 0;
5686*ab8db090SAndroid Build Coastguard Worker 
5687*ab8db090SAndroid Build Coastguard Worker   if (init_run) return;
5688*ab8db090SAndroid Build Coastguard Worker   init_run = 1;
5689*ab8db090SAndroid Build Coastguard Worker 
5690*ab8db090SAndroid Build Coastguard Worker   for (i = 0; i < swig_module.size; i++) {
5691*ab8db090SAndroid Build Coastguard Worker     if (swig_module.types[i]->clientdata) {
5692*ab8db090SAndroid Build Coastguard Worker       equiv = swig_module.types[i]->cast;
5693*ab8db090SAndroid Build Coastguard Worker       while (equiv) {
5694*ab8db090SAndroid Build Coastguard Worker         if (!equiv->converter) {
5695*ab8db090SAndroid Build Coastguard Worker           if (equiv->type && !equiv->type->clientdata)
5696*ab8db090SAndroid Build Coastguard Worker           SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
5697*ab8db090SAndroid Build Coastguard Worker         }
5698*ab8db090SAndroid Build Coastguard Worker         equiv = equiv->next;
5699*ab8db090SAndroid Build Coastguard Worker       }
5700*ab8db090SAndroid Build Coastguard Worker     }
5701*ab8db090SAndroid Build Coastguard Worker   }
5702*ab8db090SAndroid Build Coastguard Worker }
5703*ab8db090SAndroid Build Coastguard Worker 
5704*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
5705*ab8db090SAndroid Build Coastguard Worker #if 0
5706*ab8db090SAndroid Build Coastguard Worker {
5707*ab8db090SAndroid Build Coastguard Worker   /* c-mode */
5708*ab8db090SAndroid Build Coastguard Worker #endif
5709*ab8db090SAndroid Build Coastguard Worker }
5710*ab8db090SAndroid Build Coastguard Worker #endif
5711*ab8db090SAndroid Build Coastguard Worker 
5712*ab8db090SAndroid Build Coastguard Worker 
5713*ab8db090SAndroid Build Coastguard Worker 
5714*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
5715*ab8db090SAndroid Build Coastguard Worker extern "C" {
5716*ab8db090SAndroid Build Coastguard Worker #endif
5717*ab8db090SAndroid Build Coastguard Worker 
5718*ab8db090SAndroid Build Coastguard Worker   /* Python-specific SWIG API */
5719*ab8db090SAndroid Build Coastguard Worker #define SWIG_newvarlink()                             SWIG_Python_newvarlink()
5720*ab8db090SAndroid Build Coastguard Worker #define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
5721*ab8db090SAndroid Build Coastguard Worker #define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
5722*ab8db090SAndroid Build Coastguard Worker 
5723*ab8db090SAndroid Build Coastguard Worker   /* -----------------------------------------------------------------------------
5724*ab8db090SAndroid Build Coastguard Worker    * global variable support code.
5725*ab8db090SAndroid Build Coastguard Worker    * ----------------------------------------------------------------------------- */
5726*ab8db090SAndroid Build Coastguard Worker 
5727*ab8db090SAndroid Build Coastguard Worker   typedef struct swig_globalvar {
5728*ab8db090SAndroid Build Coastguard Worker     char       *name;                  /* Name of global variable */
5729*ab8db090SAndroid Build Coastguard Worker     PyObject *(*get_attr)(void);       /* Return the current value */
5730*ab8db090SAndroid Build Coastguard Worker     int       (*set_attr)(PyObject *); /* Set the value */
5731*ab8db090SAndroid Build Coastguard Worker     struct swig_globalvar *next;
5732*ab8db090SAndroid Build Coastguard Worker   } swig_globalvar;
5733*ab8db090SAndroid Build Coastguard Worker 
5734*ab8db090SAndroid Build Coastguard Worker   typedef struct swig_varlinkobject {
5735*ab8db090SAndroid Build Coastguard Worker     PyObject_HEAD
5736*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *vars;
5737*ab8db090SAndroid Build Coastguard Worker   } swig_varlinkobject;
5738*ab8db090SAndroid Build Coastguard Worker 
5739*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyObject *
swig_varlink_repr(swig_varlinkobject * SWIGUNUSEDPARM (v))5740*ab8db090SAndroid Build Coastguard Worker   swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
5741*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
5742*ab8db090SAndroid Build Coastguard Worker     return PyUnicode_InternFromString("<Swig global variables>");
5743*ab8db090SAndroid Build Coastguard Worker #else
5744*ab8db090SAndroid Build Coastguard Worker     return PyString_FromString("<Swig global variables>");
5745*ab8db090SAndroid Build Coastguard Worker #endif
5746*ab8db090SAndroid Build Coastguard Worker   }
5747*ab8db090SAndroid Build Coastguard Worker 
5748*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyObject *
swig_varlink_str(swig_varlinkobject * v)5749*ab8db090SAndroid Build Coastguard Worker   swig_varlink_str(swig_varlinkobject *v) {
5750*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
5751*ab8db090SAndroid Build Coastguard Worker     PyObject *str = PyUnicode_InternFromString("(");
5752*ab8db090SAndroid Build Coastguard Worker     PyObject *tail;
5753*ab8db090SAndroid Build Coastguard Worker     PyObject *joined;
5754*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *var;
5755*ab8db090SAndroid Build Coastguard Worker     for (var = v->vars; var; var=var->next) {
5756*ab8db090SAndroid Build Coastguard Worker       tail = PyUnicode_FromString(var->name);
5757*ab8db090SAndroid Build Coastguard Worker       joined = PyUnicode_Concat(str, tail);
5758*ab8db090SAndroid Build Coastguard Worker       Py_DecRef(str);
5759*ab8db090SAndroid Build Coastguard Worker       Py_DecRef(tail);
5760*ab8db090SAndroid Build Coastguard Worker       str = joined;
5761*ab8db090SAndroid Build Coastguard Worker       if (var->next) {
5762*ab8db090SAndroid Build Coastguard Worker         tail = PyUnicode_InternFromString(", ");
5763*ab8db090SAndroid Build Coastguard Worker         joined = PyUnicode_Concat(str, tail);
5764*ab8db090SAndroid Build Coastguard Worker         Py_DecRef(str);
5765*ab8db090SAndroid Build Coastguard Worker         Py_DecRef(tail);
5766*ab8db090SAndroid Build Coastguard Worker         str = joined;
5767*ab8db090SAndroid Build Coastguard Worker       }
5768*ab8db090SAndroid Build Coastguard Worker     }
5769*ab8db090SAndroid Build Coastguard Worker     tail = PyUnicode_InternFromString(")");
5770*ab8db090SAndroid Build Coastguard Worker     joined = PyUnicode_Concat(str, tail);
5771*ab8db090SAndroid Build Coastguard Worker     Py_DecRef(str);
5772*ab8db090SAndroid Build Coastguard Worker     Py_DecRef(tail);
5773*ab8db090SAndroid Build Coastguard Worker     str = joined;
5774*ab8db090SAndroid Build Coastguard Worker #else
5775*ab8db090SAndroid Build Coastguard Worker     PyObject *str = PyString_FromString("(");
5776*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *var;
5777*ab8db090SAndroid Build Coastguard Worker     for (var = v->vars; var; var=var->next) {
5778*ab8db090SAndroid Build Coastguard Worker       PyString_ConcatAndDel(&str,PyString_FromString(var->name));
5779*ab8db090SAndroid Build Coastguard Worker       if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
5780*ab8db090SAndroid Build Coastguard Worker     }
5781*ab8db090SAndroid Build Coastguard Worker     PyString_ConcatAndDel(&str,PyString_FromString(")"));
5782*ab8db090SAndroid Build Coastguard Worker #endif
5783*ab8db090SAndroid Build Coastguard Worker     return str;
5784*ab8db090SAndroid Build Coastguard Worker   }
5785*ab8db090SAndroid Build Coastguard Worker 
5786*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN int
swig_varlink_print(swig_varlinkobject * v,FILE * fp,int SWIGUNUSEDPARM (flags))5787*ab8db090SAndroid Build Coastguard Worker   swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
5788*ab8db090SAndroid Build Coastguard Worker     char *tmp;
5789*ab8db090SAndroid Build Coastguard Worker     PyObject *str = swig_varlink_str(v);
5790*ab8db090SAndroid Build Coastguard Worker     fprintf(fp,"Swig global variables ");
5791*ab8db090SAndroid Build Coastguard Worker     fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str));
5792*ab8db090SAndroid Build Coastguard Worker     SWIG_Python_str_DelForPy3(tmp);
5793*ab8db090SAndroid Build Coastguard Worker     Py_DECREF(str);
5794*ab8db090SAndroid Build Coastguard Worker     return 0;
5795*ab8db090SAndroid Build Coastguard Worker   }
5796*ab8db090SAndroid Build Coastguard Worker 
5797*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN void
swig_varlink_dealloc(swig_varlinkobject * v)5798*ab8db090SAndroid Build Coastguard Worker   swig_varlink_dealloc(swig_varlinkobject *v) {
5799*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *var = v->vars;
5800*ab8db090SAndroid Build Coastguard Worker     while (var) {
5801*ab8db090SAndroid Build Coastguard Worker       swig_globalvar *n = var->next;
5802*ab8db090SAndroid Build Coastguard Worker       free(var->name);
5803*ab8db090SAndroid Build Coastguard Worker       free(var);
5804*ab8db090SAndroid Build Coastguard Worker       var = n;
5805*ab8db090SAndroid Build Coastguard Worker     }
5806*ab8db090SAndroid Build Coastguard Worker   }
5807*ab8db090SAndroid Build Coastguard Worker 
5808*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyObject *
swig_varlink_getattr(swig_varlinkobject * v,char * n)5809*ab8db090SAndroid Build Coastguard Worker   swig_varlink_getattr(swig_varlinkobject *v, char *n) {
5810*ab8db090SAndroid Build Coastguard Worker     PyObject *res = NULL;
5811*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *var = v->vars;
5812*ab8db090SAndroid Build Coastguard Worker     while (var) {
5813*ab8db090SAndroid Build Coastguard Worker       if (strcmp(var->name,n) == 0) {
5814*ab8db090SAndroid Build Coastguard Worker         res = (*var->get_attr)();
5815*ab8db090SAndroid Build Coastguard Worker         break;
5816*ab8db090SAndroid Build Coastguard Worker       }
5817*ab8db090SAndroid Build Coastguard Worker       var = var->next;
5818*ab8db090SAndroid Build Coastguard Worker     }
5819*ab8db090SAndroid Build Coastguard Worker     if (res == NULL && !PyErr_Occurred()) {
5820*ab8db090SAndroid Build Coastguard Worker       PyErr_SetString(PyExc_NameError,"Unknown C global variable");
5821*ab8db090SAndroid Build Coastguard Worker     }
5822*ab8db090SAndroid Build Coastguard Worker     return res;
5823*ab8db090SAndroid Build Coastguard Worker   }
5824*ab8db090SAndroid Build Coastguard Worker 
5825*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN int
swig_varlink_setattr(swig_varlinkobject * v,char * n,PyObject * p)5826*ab8db090SAndroid Build Coastguard Worker   swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
5827*ab8db090SAndroid Build Coastguard Worker     int res = 1;
5828*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *var = v->vars;
5829*ab8db090SAndroid Build Coastguard Worker     while (var) {
5830*ab8db090SAndroid Build Coastguard Worker       if (strcmp(var->name,n) == 0) {
5831*ab8db090SAndroid Build Coastguard Worker         res = (*var->set_attr)(p);
5832*ab8db090SAndroid Build Coastguard Worker         break;
5833*ab8db090SAndroid Build Coastguard Worker       }
5834*ab8db090SAndroid Build Coastguard Worker       var = var->next;
5835*ab8db090SAndroid Build Coastguard Worker     }
5836*ab8db090SAndroid Build Coastguard Worker     if (res == 1 && !PyErr_Occurred()) {
5837*ab8db090SAndroid Build Coastguard Worker       PyErr_SetString(PyExc_NameError,"Unknown C global variable");
5838*ab8db090SAndroid Build Coastguard Worker     }
5839*ab8db090SAndroid Build Coastguard Worker     return res;
5840*ab8db090SAndroid Build Coastguard Worker   }
5841*ab8db090SAndroid Build Coastguard Worker 
5842*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyTypeObject*
swig_varlink_type(void)5843*ab8db090SAndroid Build Coastguard Worker   swig_varlink_type(void) {
5844*ab8db090SAndroid Build Coastguard Worker     static char varlink__doc__[] = "Swig var link object";
5845*ab8db090SAndroid Build Coastguard Worker     static PyTypeObject varlink_type;
5846*ab8db090SAndroid Build Coastguard Worker     static int type_init = 0;
5847*ab8db090SAndroid Build Coastguard Worker     if (!type_init) {
5848*ab8db090SAndroid Build Coastguard Worker       const PyTypeObject tmp
5849*ab8db090SAndroid Build Coastguard Worker       = {
5850*ab8db090SAndroid Build Coastguard Worker         /* PyObject header changed in Python 3 */
5851*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
5852*ab8db090SAndroid Build Coastguard Worker         PyVarObject_HEAD_INIT(&PyType_Type, 0)
5853*ab8db090SAndroid Build Coastguard Worker #else
5854*ab8db090SAndroid Build Coastguard Worker         PyObject_HEAD_INIT(NULL)
5855*ab8db090SAndroid Build Coastguard Worker         0,                                  /* Number of items in variable part (ob_size) */
5856*ab8db090SAndroid Build Coastguard Worker #endif
5857*ab8db090SAndroid Build Coastguard Worker         (char *)"swigvarlink",              /* Type name (tp_name) */
5858*ab8db090SAndroid Build Coastguard Worker         sizeof(swig_varlinkobject),         /* Basic size (tp_basicsize) */
5859*ab8db090SAndroid Build Coastguard Worker         0,                                  /* Itemsize (tp_itemsize) */
5860*ab8db090SAndroid Build Coastguard Worker         (destructor) swig_varlink_dealloc,  /* Deallocator (tp_dealloc) */
5861*ab8db090SAndroid Build Coastguard Worker         (printfunc) swig_varlink_print,     /* Print (tp_print) */
5862*ab8db090SAndroid Build Coastguard Worker         (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
5863*ab8db090SAndroid Build Coastguard Worker         (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
5864*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_compare */
5865*ab8db090SAndroid Build Coastguard Worker         (reprfunc) swig_varlink_repr,       /* tp_repr */
5866*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_as_number */
5867*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_as_sequence */
5868*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_as_mapping */
5869*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_hash */
5870*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_call */
5871*ab8db090SAndroid Build Coastguard Worker         (reprfunc) swig_varlink_str,        /* tp_str */
5872*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_getattro */
5873*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_setattro */
5874*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_as_buffer */
5875*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_flags */
5876*ab8db090SAndroid Build Coastguard Worker         varlink__doc__,                     /* tp_doc */
5877*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_traverse */
5878*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_clear */
5879*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_richcompare */
5880*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_weaklistoffset */
5881*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02020000
5882*ab8db090SAndroid Build Coastguard Worker         0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
5883*ab8db090SAndroid Build Coastguard Worker #endif
5884*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x02030000
5885*ab8db090SAndroid Build Coastguard Worker         0,                                  /* tp_del */
5886*ab8db090SAndroid Build Coastguard Worker #endif
5887*ab8db090SAndroid Build Coastguard Worker #ifdef COUNT_ALLOCS
5888*ab8db090SAndroid Build Coastguard Worker         0,0,0,0                             /* tp_alloc -> tp_next */
5889*ab8db090SAndroid Build Coastguard Worker #endif
5890*ab8db090SAndroid Build Coastguard Worker       };
5891*ab8db090SAndroid Build Coastguard Worker       varlink_type = tmp;
5892*ab8db090SAndroid Build Coastguard Worker       /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */
5893*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX < 0x03000000
5894*ab8db090SAndroid Build Coastguard Worker       varlink_type.ob_type = &PyType_Type;
5895*ab8db090SAndroid Build Coastguard Worker #endif
5896*ab8db090SAndroid Build Coastguard Worker       type_init = 1;
5897*ab8db090SAndroid Build Coastguard Worker     }
5898*ab8db090SAndroid Build Coastguard Worker     return &varlink_type;
5899*ab8db090SAndroid Build Coastguard Worker   }
5900*ab8db090SAndroid Build Coastguard Worker 
5901*ab8db090SAndroid Build Coastguard Worker   /* Create a variable linking object for use later */
5902*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyObject *
SWIG_Python_newvarlink(void)5903*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_newvarlink(void) {
5904*ab8db090SAndroid Build Coastguard Worker     swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
5905*ab8db090SAndroid Build Coastguard Worker     if (result) {
5906*ab8db090SAndroid Build Coastguard Worker       result->vars = 0;
5907*ab8db090SAndroid Build Coastguard Worker     }
5908*ab8db090SAndroid Build Coastguard Worker     return ((PyObject*) result);
5909*ab8db090SAndroid Build Coastguard Worker   }
5910*ab8db090SAndroid Build Coastguard Worker 
5911*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN void
SWIG_Python_addvarlink(PyObject * p,char * name,PyObject * (* get_attr)(void),int (* set_attr)(PyObject * p))5912*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
5913*ab8db090SAndroid Build Coastguard Worker     swig_varlinkobject *v = (swig_varlinkobject *) p;
5914*ab8db090SAndroid Build Coastguard Worker     swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
5915*ab8db090SAndroid Build Coastguard Worker     if (gv) {
5916*ab8db090SAndroid Build Coastguard Worker       size_t size = strlen(name)+1;
5917*ab8db090SAndroid Build Coastguard Worker       gv->name = (char *)malloc(size);
5918*ab8db090SAndroid Build Coastguard Worker       if (gv->name) {
5919*ab8db090SAndroid Build Coastguard Worker         strncpy(gv->name,name,size);
5920*ab8db090SAndroid Build Coastguard Worker         gv->get_attr = get_attr;
5921*ab8db090SAndroid Build Coastguard Worker         gv->set_attr = set_attr;
5922*ab8db090SAndroid Build Coastguard Worker         gv->next = v->vars;
5923*ab8db090SAndroid Build Coastguard Worker       }
5924*ab8db090SAndroid Build Coastguard Worker     }
5925*ab8db090SAndroid Build Coastguard Worker     v->vars = gv;
5926*ab8db090SAndroid Build Coastguard Worker   }
5927*ab8db090SAndroid Build Coastguard Worker 
5928*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN PyObject *
SWIG_globals(void)5929*ab8db090SAndroid Build Coastguard Worker   SWIG_globals(void) {
5930*ab8db090SAndroid Build Coastguard Worker     static PyObject *_SWIG_globals = 0;
5931*ab8db090SAndroid Build Coastguard Worker     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
5932*ab8db090SAndroid Build Coastguard Worker     return _SWIG_globals;
5933*ab8db090SAndroid Build Coastguard Worker   }
5934*ab8db090SAndroid Build Coastguard Worker 
5935*ab8db090SAndroid Build Coastguard Worker   /* -----------------------------------------------------------------------------
5936*ab8db090SAndroid Build Coastguard Worker    * constants/methods manipulation
5937*ab8db090SAndroid Build Coastguard Worker    * ----------------------------------------------------------------------------- */
5938*ab8db090SAndroid Build Coastguard Worker 
5939*ab8db090SAndroid Build Coastguard Worker   /* Install Constants */
5940*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN void
SWIG_Python_InstallConstants(PyObject * d,swig_const_info constants[])5941*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
5942*ab8db090SAndroid Build Coastguard Worker     PyObject *obj = 0;
5943*ab8db090SAndroid Build Coastguard Worker     size_t i;
5944*ab8db090SAndroid Build Coastguard Worker     for (i = 0; constants[i].type; ++i) {
5945*ab8db090SAndroid Build Coastguard Worker       switch(constants[i].type) {
5946*ab8db090SAndroid Build Coastguard Worker       case SWIG_PY_POINTER:
5947*ab8db090SAndroid Build Coastguard Worker         obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
5948*ab8db090SAndroid Build Coastguard Worker         break;
5949*ab8db090SAndroid Build Coastguard Worker       case SWIG_PY_BINARY:
5950*ab8db090SAndroid Build Coastguard Worker         obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
5951*ab8db090SAndroid Build Coastguard Worker         break;
5952*ab8db090SAndroid Build Coastguard Worker       default:
5953*ab8db090SAndroid Build Coastguard Worker         obj = 0;
5954*ab8db090SAndroid Build Coastguard Worker         break;
5955*ab8db090SAndroid Build Coastguard Worker       }
5956*ab8db090SAndroid Build Coastguard Worker       if (obj) {
5957*ab8db090SAndroid Build Coastguard Worker         PyDict_SetItemString(d, constants[i].name, obj);
5958*ab8db090SAndroid Build Coastguard Worker         Py_DECREF(obj);
5959*ab8db090SAndroid Build Coastguard Worker       }
5960*ab8db090SAndroid Build Coastguard Worker     }
5961*ab8db090SAndroid Build Coastguard Worker   }
5962*ab8db090SAndroid Build Coastguard Worker 
5963*ab8db090SAndroid Build Coastguard Worker   /* -----------------------------------------------------------------------------*/
5964*ab8db090SAndroid Build Coastguard Worker   /* Fix SwigMethods to carry the callback ptrs when needed */
5965*ab8db090SAndroid Build Coastguard Worker   /* -----------------------------------------------------------------------------*/
5966*ab8db090SAndroid Build Coastguard Worker 
5967*ab8db090SAndroid Build Coastguard Worker   SWIGINTERN void
SWIG_Python_FixMethods(PyMethodDef * methods,swig_const_info * const_table,swig_type_info ** types,swig_type_info ** types_initial)5968*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_FixMethods(PyMethodDef *methods,
5969*ab8db090SAndroid Build Coastguard Worker     swig_const_info *const_table,
5970*ab8db090SAndroid Build Coastguard Worker     swig_type_info **types,
5971*ab8db090SAndroid Build Coastguard Worker     swig_type_info **types_initial) {
5972*ab8db090SAndroid Build Coastguard Worker     size_t i;
5973*ab8db090SAndroid Build Coastguard Worker     for (i = 0; methods[i].ml_name; ++i) {
5974*ab8db090SAndroid Build Coastguard Worker       const char *c = methods[i].ml_doc;
5975*ab8db090SAndroid Build Coastguard Worker       if (c && (c = strstr(c, "swig_ptr: "))) {
5976*ab8db090SAndroid Build Coastguard Worker         int j;
5977*ab8db090SAndroid Build Coastguard Worker         swig_const_info *ci = 0;
5978*ab8db090SAndroid Build Coastguard Worker         const char *name = c + 10;
5979*ab8db090SAndroid Build Coastguard Worker         for (j = 0; const_table[j].type; ++j) {
5980*ab8db090SAndroid Build Coastguard Worker           if (strncmp(const_table[j].name, name,
5981*ab8db090SAndroid Build Coastguard Worker               strlen(const_table[j].name)) == 0) {
5982*ab8db090SAndroid Build Coastguard Worker             ci = &(const_table[j]);
5983*ab8db090SAndroid Build Coastguard Worker             break;
5984*ab8db090SAndroid Build Coastguard Worker           }
5985*ab8db090SAndroid Build Coastguard Worker         }
5986*ab8db090SAndroid Build Coastguard Worker         if (ci) {
5987*ab8db090SAndroid Build Coastguard Worker           size_t shift = (ci->ptype) - types;
5988*ab8db090SAndroid Build Coastguard Worker           swig_type_info *ty = types_initial[shift];
5989*ab8db090SAndroid Build Coastguard Worker           size_t ldoc = (c - methods[i].ml_doc);
5990*ab8db090SAndroid Build Coastguard Worker           size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
5991*ab8db090SAndroid Build Coastguard Worker           char *ndoc = (char*)malloc(ldoc + lptr + 10);
5992*ab8db090SAndroid Build Coastguard Worker           if (ndoc) {
5993*ab8db090SAndroid Build Coastguard Worker             char *buff = ndoc;
5994*ab8db090SAndroid Build Coastguard Worker             void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
5995*ab8db090SAndroid Build Coastguard Worker             if (ptr) {
5996*ab8db090SAndroid Build Coastguard Worker               strncpy(buff, methods[i].ml_doc, ldoc);
5997*ab8db090SAndroid Build Coastguard Worker               buff += ldoc;
5998*ab8db090SAndroid Build Coastguard Worker               strncpy(buff, "swig_ptr: ", 10);
5999*ab8db090SAndroid Build Coastguard Worker               buff += 10;
6000*ab8db090SAndroid Build Coastguard Worker               SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
6001*ab8db090SAndroid Build Coastguard Worker               methods[i].ml_doc = ndoc;
6002*ab8db090SAndroid Build Coastguard Worker             }
6003*ab8db090SAndroid Build Coastguard Worker           }
6004*ab8db090SAndroid Build Coastguard Worker         }
6005*ab8db090SAndroid Build Coastguard Worker       }
6006*ab8db090SAndroid Build Coastguard Worker     }
6007*ab8db090SAndroid Build Coastguard Worker   }
6008*ab8db090SAndroid Build Coastguard Worker 
6009*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
6010*ab8db090SAndroid Build Coastguard Worker }
6011*ab8db090SAndroid Build Coastguard Worker #endif
6012*ab8db090SAndroid Build Coastguard Worker 
6013*ab8db090SAndroid Build Coastguard Worker /* -----------------------------------------------------------------------------*
6014*ab8db090SAndroid Build Coastguard Worker  *  Partial Init method
6015*ab8db090SAndroid Build Coastguard Worker  * -----------------------------------------------------------------------------*/
6016*ab8db090SAndroid Build Coastguard Worker 
6017*ab8db090SAndroid Build Coastguard Worker #ifdef __cplusplus
6018*ab8db090SAndroid Build Coastguard Worker extern "C"
6019*ab8db090SAndroid Build Coastguard Worker #endif
6020*ab8db090SAndroid Build Coastguard Worker 
6021*ab8db090SAndroid Build Coastguard Worker SWIGEXPORT
6022*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
6023*ab8db090SAndroid Build Coastguard Worker PyObject*
6024*ab8db090SAndroid Build Coastguard Worker #else
6025*ab8db090SAndroid Build Coastguard Worker void
6026*ab8db090SAndroid Build Coastguard Worker #endif
SWIG_init(void)6027*ab8db090SAndroid Build Coastguard Worker SWIG_init(void) {
6028*ab8db090SAndroid Build Coastguard Worker   PyObject *m, *d;
6029*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
6030*ab8db090SAndroid Build Coastguard Worker   static struct PyModuleDef SWIG_module = {
6031*ab8db090SAndroid Build Coastguard Worker     PyModuleDef_HEAD_INIT,
6032*ab8db090SAndroid Build Coastguard Worker     (char *) SWIG_name,
6033*ab8db090SAndroid Build Coastguard Worker     NULL,
6034*ab8db090SAndroid Build Coastguard Worker     -1,
6035*ab8db090SAndroid Build Coastguard Worker     SwigMethods,
6036*ab8db090SAndroid Build Coastguard Worker     NULL,
6037*ab8db090SAndroid Build Coastguard Worker     NULL,
6038*ab8db090SAndroid Build Coastguard Worker     NULL,
6039*ab8db090SAndroid Build Coastguard Worker     NULL
6040*ab8db090SAndroid Build Coastguard Worker   };
6041*ab8db090SAndroid Build Coastguard Worker #endif
6042*ab8db090SAndroid Build Coastguard Worker 
6043*ab8db090SAndroid Build Coastguard Worker   /* Fix SwigMethods to carry the callback ptrs when needed */
6044*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
6045*ab8db090SAndroid Build Coastguard Worker 
6046*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
6047*ab8db090SAndroid Build Coastguard Worker   m = PyModule_Create(&SWIG_module);
6048*ab8db090SAndroid Build Coastguard Worker #else
6049*ab8db090SAndroid Build Coastguard Worker   m = Py_InitModule((char *) SWIG_name, SwigMethods);
6050*ab8db090SAndroid Build Coastguard Worker #endif
6051*ab8db090SAndroid Build Coastguard Worker   d = PyModule_GetDict(m);
6052*ab8db090SAndroid Build Coastguard Worker 
6053*ab8db090SAndroid Build Coastguard Worker   SWIG_InitializeModule(0);
6054*ab8db090SAndroid Build Coastguard Worker   SWIG_InstallConstants(d,swig_const_table);
6055*ab8db090SAndroid Build Coastguard Worker 
6056*ab8db090SAndroid Build Coastguard Worker 
6057*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "OK",SWIG_From_int(static_cast< int >(marisa_swig::OK)));
6058*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "STATE_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::STATE_ERROR)));
6059*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "NULL_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::NULL_ERROR)));
6060*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "BOUND_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::BOUND_ERROR)));
6061*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "RANGE_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::RANGE_ERROR)));
6062*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "CODE_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::CODE_ERROR)));
6063*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "RESET_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::RESET_ERROR)));
6064*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "SIZE_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::SIZE_ERROR)));
6065*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "MEMORY_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::MEMORY_ERROR)));
6066*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "IO_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::IO_ERROR)));
6067*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "FORMAT_ERROR",SWIG_From_int(static_cast< int >(marisa_swig::FORMAT_ERROR)));
6068*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "MIN_NUM_TRIES",SWIG_From_int(static_cast< int >(marisa_swig::MIN_NUM_TRIES)));
6069*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "MAX_NUM_TRIES",SWIG_From_int(static_cast< int >(marisa_swig::MAX_NUM_TRIES)));
6070*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "DEFAULT_NUM_TRIES",SWIG_From_int(static_cast< int >(marisa_swig::DEFAULT_NUM_TRIES)));
6071*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "HUGE_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::HUGE_CACHE)));
6072*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "LARGE_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::LARGE_CACHE)));
6073*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "NORMAL_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::NORMAL_CACHE)));
6074*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "SMALL_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::SMALL_CACHE)));
6075*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "TINY_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::TINY_CACHE)));
6076*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "DEFAULT_CACHE",SWIG_From_int(static_cast< int >(marisa_swig::DEFAULT_CACHE)));
6077*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "TEXT_TAIL",SWIG_From_int(static_cast< int >(marisa_swig::TEXT_TAIL)));
6078*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "BINARY_TAIL",SWIG_From_int(static_cast< int >(marisa_swig::BINARY_TAIL)));
6079*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "DEFAULT_TAIL",SWIG_From_int(static_cast< int >(marisa_swig::DEFAULT_TAIL)));
6080*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "LABEL_ORDER",SWIG_From_int(static_cast< int >(marisa_swig::LABEL_ORDER)));
6081*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "WEIGHT_ORDER",SWIG_From_int(static_cast< int >(marisa_swig::WEIGHT_ORDER)));
6082*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "DEFAULT_ORDER",SWIG_From_int(static_cast< int >(marisa_swig::DEFAULT_ORDER)));
6083*ab8db090SAndroid Build Coastguard Worker   SWIG_Python_SetConstant(d, "INVALID_KEY_ID",SWIG_From_size_t(static_cast< size_t >(MARISA_INVALID_KEY_ID)));
6084*ab8db090SAndroid Build Coastguard Worker #if PY_VERSION_HEX >= 0x03000000
6085*ab8db090SAndroid Build Coastguard Worker   return m;
6086*ab8db090SAndroid Build Coastguard Worker #else
6087*ab8db090SAndroid Build Coastguard Worker   return;
6088*ab8db090SAndroid Build Coastguard Worker #endif
6089*ab8db090SAndroid Build Coastguard Worker }
6090*ab8db090SAndroid Build Coastguard Worker 
6091