diff --git a/src/mod/languages/mod_perl/switch_swig_wrap.c b/src/mod/languages/mod_perl/switch_swig_wrap.c index e6e3a39c62..feae790521 100644 --- a/src/mod/languages/mod_perl/switch_swig_wrap.c +++ b/src/mod/languages/mod_perl/switch_swig_wrap.c @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.29 + * Version 1.3.21 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -8,284 +8,71 @@ * interface file instead. * ----------------------------------------------------------------------------- */ -#define SWIGPERL -#define SWIG_CASTRANK_MODE -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* ----------------------------------------------------------------------------- - * swigrun.swg +/*************************************************************** -*- c -*- + * perl5/precommon.swg * - * This file contains generic CAPI SWIG runtime support for pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "2" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -# define SWIG_QUOTE_STRING(x) #x -# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -# define SWIG_TYPE_TABLE_NAME -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the swig runtime code. - In 99.9% of the cases, swig just needs to declare them as 'static'. - - But only do this if is strictly necessary, ie, if you have problems - with your compiler or so. -*/ - -#ifndef SWIGRUNTIME -# define SWIGRUNTIME SWIGINTERN -#endif - -#ifndef SWIGRUNTIMEINLINE -# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -/* Generic buffer size */ -#ifndef SWIG_BUFFER_SIZE -# define SWIG_BUFFER_SIZE 1024 -#endif - -/* Flags for pointer conversions */ -#define SWIG_POINTER_DISOWN 0x1 - -/* Flags for new pointer objects */ -#define SWIG_POINTER_OWN 0x1 - - -/* - Flags/methods for returning states. - - The swig conversion methods, as ConvertPtr, return and integer - that tells if the conversion was successful or not. And if not, - an error code can be returned (see swigerrors.swg for the codes). - - Use the following macros/flags to set or process the returning - states. - - In old swig versions, you usually write code as: - - if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { - // success code - } else { - //fail code - } - - Now you can be more explicit as: - - int res = SWIG_ConvertPtr(obj,vptr,ty.flags); - if (SWIG_IsOK(res)) { - // success code - } else { - // fail code - } - - that seems to be the same, but now you can also do - - Type *ptr; - int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); - if (SWIG_IsOK(res)) { - // success code - if (SWIG_IsNewObj(res) { - ... - delete *ptr; - } else { - ... - } - } else { - // fail code - } - - I.e., now SWIG_ConvertPtr can return new objects and you can - identify the case and take care of the deallocation. Of course that - requires also to SWIG_ConvertPtr to return new result values, as - - int SWIG_ConvertPtr(obj, ptr,...) { - if () { - if () { - *ptr = ; - return SWIG_NEWOBJ; - } else { - *ptr = ; - return SWIG_OLDOBJ; - } - } else { - return SWIG_BADOBJ; - } - } - - Of course, returning the plain '0(success)/-1(fail)' still works, but you can be - more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the - swig errors code. - - Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this - - int food(double) - int fooi(int); - - and you call - - food(1) // cast rank '1' (1 -> 1.0) - fooi(1) // cast rank '0' - - just use the SWIG_AddCast()/SWIG_CheckState() - - - */ -#define SWIG_OK (0) -#define SWIG_ERROR (-1) -#define SWIG_IsOK(r) (r >= 0) -#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) - -/* The CastRankLimit says how many bits are used for the cast rank */ -#define SWIG_CASTRANKLIMIT (1 << 8) -/* The NewMask denotes the object was created (using new/malloc) */ -#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) -/* The TmpMask is for in/out typemaps that use temporal objects */ -#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) -/* Simple returning values */ -#define SWIG_BADOBJ (SWIG_ERROR) -#define SWIG_OLDOBJ (SWIG_OK) -#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) -#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ -#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) -#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) -#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) -#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) -#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) -#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) - - -/* Cast-Rank Mode */ -#if defined(SWIG_CASTRANK_MODE) -# ifndef SWIG_TypeRank -# define SWIG_TypeRank unsigned long -# endif -# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ -# define SWIG_MAXCASTRANK (2) -# endif -# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) -# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) -SWIGINTERNINLINE int SWIG_AddCast(int r) { - return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; -} -SWIGINTERNINLINE int SWIG_CheckState(int r) { - return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; -} -#else /* no cast-rank mode */ -# define SWIG_AddCast -# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) -#endif + * Rename all exported symbols from common.swg, to avoid symbol + * clashes if multiple interpreters are included + * + ************************************************************************/ +#define SWIG_TypeRegister SWIG_Perl_TypeRegister +#define SWIG_TypeCheck SWIG_Perl_TypeCheck +#define SWIG_TypeCast SWIG_Perl_TypeCast +#define SWIG_TypeDynamicCast SWIG_Perl_TypeDynamicCast +#define SWIG_TypeName SWIG_Perl_TypeName +#define SWIG_TypeQuery SWIG_Perl_TypeQuery +#define SWIG_TypeClientData SWIG_Perl_TypeClientData +#define SWIG_PackData SWIG_Perl_PackData +#define SWIG_UnpackData SWIG_Perl_UnpackData +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ #include +#include + +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(_MSC_VER) || defined(__GNUC__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) extern a +# else +# define SWIGEXPORT(a) __declspec(dllexport) a +# define SWIGIMPORT(a) extern a +# endif +# else +# if defined(__BORLANDC__) +# define SWIGEXPORT(a) a _export +# define SWIGIMPORT(a) a _export +# else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +# endif +# endif +#else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +#endif + +#ifdef SWIG_GLOBAL +# define SWIGRUNTIME(a) SWIGEXPORT(a) +#else +# define SWIGRUNTIME(a) static a +#endif #ifdef __cplusplus extern "C" { @@ -294,141 +81,106 @@ extern "C" { typedef void *(*swig_converter_func)(void *); typedef struct swig_type_info *(*swig_dycast_func)(void **); -/* Structure to store inforomation on one type */ typedef struct swig_type_info { - const char *name; /* mangled name of this type */ - const char *str; /* human readable name of this type */ - swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ - struct swig_cast_info *cast; /* linked list of types that can cast into this type */ - void *clientdata; /* language specific type data */ - int owndata; /* flag if the structure owns the clientdata */ + const char *name; + swig_converter_func converter; + const char *str; + void *clientdata; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; } swig_type_info; -/* Structure to store a type and conversion function used for casting */ -typedef struct swig_cast_info { - swig_type_info *type; /* pointer to type that is equivalent to this type */ - swig_converter_func converter; /* function to cast the void pointers */ - struct swig_cast_info *next; /* pointer to next cast in linked list */ - struct swig_cast_info *prev; /* pointer to the previous cast */ -} swig_cast_info; +#ifdef SWIG_NOINCLUDE -/* Structure used to store module information - * Each module generates one structure like this, and the runtime collects - * all of these structures and stores them in a circularly linked list.*/ -typedef struct swig_module_info { - swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ - size_t size; /* Number of types in this module */ - struct swig_module_info *next; /* Pointer to next element in circularly linked list */ - swig_type_info **type_initial; /* Array of initially generated type structures */ - swig_cast_info **cast_initial; /* Array of initially generated casting structures */ - void *clientdata; /* Language specific module data */ -} swig_module_info; +SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); +SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); +SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); +SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); +SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); +SWIGIMPORT(char *) SWIG_PackData(char *, void *, int); +SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int); -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. +#else - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; - } - return (l1 - f1) - (l2 - f2); -} +static swig_type_info *swig_type_list = 0; -/* - Check type equivalence in a name list like ||... - Return 0 if not equal, 1 if equal -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Register a type mapping with the type-checking */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeRegister(swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = swig_type_list; + while (tc) { + if (strcmp(tc->name, ti->name) == 0) { + /* Already exists in the table. Just add additional types to the list */ + if (tc->clientdata) ti->clientdata = tc->clientdata; + head = tc; + next = tc->next; + goto l1; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; + tc = tc->prev; } - return equiv; + head = ti; + next = 0; + + /* Place in list */ + ti->prev = swig_type_list; + swig_type_list = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + if (next) next->prev = head; + head->next = next; + return ret; } -/* - Check type equivalence in a name list like ||... - Return 0 if equal, -1 if nb < tb, 1 if nb > tb -*/ -SWIGRUNTIME int -SWIG_TypeCompare(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Check the typename */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeCheck(char *c, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; - } - return equiv; + s = s->next; + } while (s && (s != ty->next)); + return 0; } - -/* think of this as a c++ template<> or a scheme macro */ -#define SWIG_TypeCheck_Template(comparison, ty) \ - if (ty) { \ - swig_cast_info *iter = ty->cast; \ - while (iter) { \ - if (comparison) { \ - if (iter == ty->cast) return iter; \ - /* Move iter to the top of the linked list */ \ - iter->prev->next = iter->next; \ - if (iter->next) \ - iter->next->prev = iter->prev; \ - iter->next = ty->cast; \ - iter->prev = 0; \ - if (ty->cast) ty->cast->prev = iter; \ - ty->cast = iter; \ - return iter; \ - } \ - iter = iter->next; \ - } \ - } \ - return 0 - -/* - Check the typename -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); +/* Cast a pointer up an inheritance hierarchy */ +SWIGRUNTIME(void *) +SWIG_TypeCast(swig_type_info *ty, void *ptr) { + if ((!ty) || (!ty->converter)) return ptr; + return (*ty->converter)(ptr); } -/* Same as previous function, except strcmp is replaced with a pointer comparison */ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { - SWIG_TypeCheck_Template(iter->type == from, into); -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_cast_info *ty, void *ptr) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * +/* Dynamic pointer casting. Down an inheritance hierarchy */ +SWIGRUNTIME(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { swig_type_info *lastty = ty; if (!ty || !ty->dcast) return ty; @@ -439,260 +191,97 @@ SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { return lastty; } -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * +/* Return the name associated with this type */ +SWIGRUNTIME(const char *) SWIG_TypeName(const swig_type_info *ty) { return ty->name; } -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (!type) return NULL; - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; +/* Search for a swig_type_info structure */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeQuery(const char *name) { + swig_type_info *ty = swig_type_list; + while (ty) { + if (ty->str && (strcmp(name,ty->str) == 0)) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; } - else - return type->name; + return 0; } -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void +/* Set the clientdata field for a type */ +SWIGRUNTIME(void) SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_cast_info *cast = ti->cast; - /* if (ti->clientdata == clientdata) return; */ + swig_type_info *tc, *equiv; + if (ti->clientdata == clientdata) return; ti->clientdata = clientdata; - - while (cast) { - if (!cast->converter) { - swig_type_info *tc = cast->type; - if (!tc->clientdata) { - SWIG_TypeClientData(tc, clientdata); + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = swig_type_list; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientData(tc,clientdata); + tc = tc->prev; } - } - cast = cast->next; - } -} -SWIGRUNTIME void -SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientData(ti, clientdata); - ti->owndata = 1; -} - -/* - Search for a swig_type_info structure only by mangled name - Search is a O(log #types) - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_MangledTypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - swig_module_info *iter = start; - do { - if (iter->size) { - register size_t l = 0; - register size_t r = iter->size - 1; - do { - /* since l+r >= 0, we can (>> 1) instead (/ 2) */ - register size_t i = (l + r) >> 1; - const char *iname = iter->types[i]->name; - if (iname) { - register int compare = strcmp(name, iname); - if (compare == 0) { - return iter->types[i]; - } else if (compare < 0) { - if (i) { - r = i - 1; - } else { - break; - } - } else if (compare > 0) { - l = i + 1; - } - } else { - break; /* should never happen */ - } - } while (l <= r); } - iter = iter->next; - } while (iter != end); - return 0; -} - -/* - Search for a swig_type_info structure for either a mangled name or a human readable name. - It first searches the mangled names of the types, which is a O(log #types) - If a type is not found it then searches the human readable names, which is O(#types). - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - /* STEP 1: Search the name field using binary search */ - swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); - if (ret) { - return ret; - } else { - /* STEP 2: If the type hasn't been found, do a complete search - of the str field (the human readable name) */ - swig_module_info *iter = start; - do { - register size_t i = 0; - for (; i < iter->size; ++i) { - if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) - return iter->types[i]; - } - iter = iter->next; - } while (iter != end); + equiv = equiv->next; } - - /* neither found a match */ - return 0; } -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static const char hex[17] = "0123456789abcdef"; - register const unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register unsigned char uu = *u; +/* Pack binary data into a string */ +SWIGRUNTIME(char *) +SWIG_PackData(char *c, void *ptr, int sz) { + static char hex[17] = "0123456789abcdef"; + int i; + unsigned char *u = (unsigned char *) ptr; + register unsigned char uu; + for (i = 0; i < sz; i++,u++) { + uu = *u; *(c++) = hex[(uu & 0xf0) >> 4]; *(c++) = hex[uu & 0xf]; } return c; } -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - register unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register char d = *(c++); - register unsigned char uu; +/* Unpack binary data from a string */ +SWIGRUNTIME(char *) +SWIG_UnpackData(char *c, void *ptr, int sz) { + register unsigned char uu = 0; + register int d; + unsigned char *u = (unsigned char *) ptr; + int i; + for (i = 0; i < sz; i++, u++) { + d = *(c++); if ((d >= '0') && (d <= '9')) uu = ((d - '0') << 4); else if ((d >= 'a') && (d <= 'f')) uu = ((d - ('a'-10)) << 4); - else - return (char *) 0; d = *(c++); if ((d >= '0') && (d <= '9')) uu |= (d - '0'); else if ((d >= 'a') && (d <= 'f')) uu |= (d - ('a'-10)); - else - return (char *) 0; *u = uu; } return c; } -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} +#endif #ifdef __cplusplus } #endif -/* Errors in SWIG */ -#define SWIG_UnknownError -1 -#define SWIG_IOError -2 -#define SWIG_RuntimeError -3 -#define SWIG_IndexError -4 -#define SWIG_TypeError -5 -#define SWIG_DivisionByZero -6 -#define SWIG_OverflowError -7 -#define SWIG_SyntaxError -8 -#define SWIG_ValueError -9 -#define SWIG_SystemError -10 -#define SWIG_AttributeError -11 -#define SWIG_MemoryError -12 -#define SWIG_NullReferenceError -13 - - +/* ---------------------------------------------------------------------- -*- c -*- + * perl5.swg + * + * Perl5 runtime library + * $Header: /cvsroot/SWIG/Lib/perl5/perlrun.swg,v 1.14 2003/12/04 19:14:14 beazley Exp $ + * ----------------------------------------------------------------------------- */ +#define SWIGPERL +#define SWIGPERL5 #ifdef __cplusplus /* Needed on some windows machines---since MS plays funny games with the header files under C++ */ #include @@ -703,227 +292,21 @@ extern "C" { #include "perl.h" #include "XSUB.h" -/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */ - -/* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */ -#ifndef PERL_REVISION -# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION)) -# define PERL_PATCHLEVEL_H_IMPLICIT -# include -# endif -# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL))) -# include -# endif -# ifndef PERL_REVISION -# define PERL_REVISION (5) -# define PERL_VERSION PATCHLEVEL -# define PERL_SUBVERSION SUBVERSION -# endif -#endif - -#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) -#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) -#endif - -#ifndef SvIOK_UV -# define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv))) -#endif - -#ifndef SvUOK -# define SvUOK(sv) SvIOK_UV(sv) -#endif - -#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5))) -# define PL_sv_undef sv_undef -# define PL_na na -# define PL_errgv errgv -# define PL_sv_no sv_no -# define PL_sv_yes sv_yes -# define PL_markstack_ptr markstack_ptr -#endif - -#ifndef IVSIZE -# ifdef LONGSIZE -# define IVSIZE LONGSIZE -# else -# define IVSIZE 4 /* A bold guess, but the best we can make. */ -# endif -#endif - -#ifndef INT2PTR -# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) -# define PTRV UV -# define INT2PTR(any,d) (any)(d) -# else -# if PTRSIZE == LONGSIZE -# define PTRV unsigned long -# else -# define PTRV unsigned -# endif -# define INT2PTR(any,d) (any)(PTRV)(d) -# endif - -# define NUM2PTR(any,d) (any)(PTRV)(d) -# define PTR2IV(p) INT2PTR(IV,p) -# define PTR2UV(p) INT2PTR(UV,p) -# define PTR2NV(p) NUM2PTR(NV,p) - -# if PTRSIZE == LONGSIZE -# define PTR2ul(p) (unsigned long)(p) -# else -# define PTR2ul(p) INT2PTR(unsigned long,p) -# endif -#endif /* !INT2PTR */ - -#ifndef get_sv -# define get_sv perl_get_sv -#endif - -#ifndef ERRSV -# define ERRSV get_sv("@",FALSE) -#endif +/* Get rid of free and malloc defined by perl */ +#undef free +#undef malloc #ifndef pTHX_ #define pTHX_ -#endif +#endif #include #ifdef __cplusplus } #endif -/* ----------------------------------------------------------------------------- - * error manipulation - * ----------------------------------------------------------------------------- */ - -SWIGINTERN const char* -SWIG_Perl_ErrorType(int code) { - const char* type = 0; - switch(code) { - case SWIG_MemoryError: - type = "MemoryError"; - break; - case SWIG_IOError: - type = "IOError"; - break; - case SWIG_RuntimeError: - type = "RuntimeError"; - break; - case SWIG_IndexError: - type = "IndexError"; - break; - case SWIG_TypeError: - type = "TypeError"; - break; - case SWIG_DivisionByZero: - type = "ZeroDivisionError"; - break; - case SWIG_OverflowError: - type = "OverflowError"; - break; - case SWIG_SyntaxError: - type = "SyntaxError"; - break; - case SWIG_ValueError: - type = "ValueError"; - break; - case SWIG_SystemError: - type = "SystemError"; - break; - case SWIG_AttributeError: - type = "AttributeError"; - break; - default: - type = "RuntimeError"; - } - return type; -} - - - - -/* ----------------------------------------------------------------------------- - * perlrun.swg - * - * This file contains the runtime support for Perl modules - * and includes code for managing global variables and pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -#ifdef PERL_OBJECT -#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl), -#define SWIG_PERL_OBJECT_CALL pPerl, -#else -#define SWIG_PERL_OBJECT_DECL -#define SWIG_PERL_OBJECT_CALL -#endif - -/* Common SWIG API */ - -/* for raw pointers */ -#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags) -#define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags) - -/* for raw packed data */ -#define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type) -#define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type) - -/* for class or struct pointers */ -#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) -#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) - -/* for C or C++ function pointers */ -#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) -#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) - -/* for C++ member pointers, ie, member methods */ -#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type) - - -/* Runtime API */ - -#define SWIG_GetModule(clientdata) SWIG_Perl_GetModule() -#define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer) - - -/* Error manipulation */ - -#define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code) -#define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg) -#define SWIG_fail goto fail - -/* Perl-specific SWIG API */ - -#define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags) -#define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type) -#define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str) - - -#define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1) -#define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1) -#define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2) -#define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2) - -/* ----------------------------------------------------------------------------- - * pointers/data manipulation - * ----------------------------------------------------------------------------- */ - -/* For backward compatibility only */ -#define SWIG_POINTER_EXCEPTION 0 - -#ifdef __cplusplus -extern "C" { -#endif - -#define SWIG_OWNER SWIG_POINTER_OWN -#define SWIG_SHADOW SWIG_OWNER << 1 - -#define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL - -/* SWIG Perl macros */ - /* Macro to call an XS function */ + #ifdef PERL_OBJECT # define SWIG_CALLXS(_name) _name(cv,pPerl) #else @@ -934,6 +317,10 @@ extern "C" { # endif #endif +/* Contract support */ + +#define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else + /* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */ #ifdef PERL_OBJECT @@ -952,7 +339,7 @@ typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); #define SWIGCLASS_STATIC #else #define MAGIC_PPERL -#define SWIGCLASS_STATIC static SWIGUNUSED +#define SWIGCLASS_STATIC static #ifndef MULTIPLICITY #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) typedef int (*SwigMagicFunc)(SV *, MAGIC *); @@ -980,141 +367,194 @@ typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); #endif #endif -/* Workaround for bug in perl 5.6.x croak and earlier */ -#if (PERL_VERSION < 8) -# ifdef PERL_OBJECT -# define SWIG_croak_null() SWIG_Perl_croak_null(pPerl) -static void SWIG_Perl_croak_null(CPerlObj *pPerl) -# else -static void SWIG_croak_null() -# endif -{ - SV *err=ERRSV; -# if (PERL_VERSION < 6) - croak("%_", err); -# else - if (SvOK(err) && !SvROK(err)) croak("%_", err); - croak(Nullch); -# endif -} -#else -# define SWIG_croak_null() croak(Nullch) +#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) +#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) #endif +/* Modifications for newer Perl 5.005 releases */ +#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50)))) +# ifndef PL_sv_yes +# define PL_sv_yes sv_yes +# endif +# ifndef PL_sv_undef +# define PL_sv_undef sv_undef +# endif +# ifndef PL_na +# define PL_na na +# endif +#endif #include -SWIGRUNTIME const char * -SWIG_Perl_TypeProxyName(const swig_type_info *type) { - if (!type) return NULL; - if (type->clientdata != NULL) { - return (const char*) type->clientdata; - } - else { - return type->name; - } -} +#ifdef __cplusplus +extern "C" { +#endif -SWIGRUNTIME swig_cast_info * -SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { - SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0)) - || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty); -} +#define SWIG_OWNER 1 +#define SWIG_SHADOW 2 +/* Common SWIG API */ + +#ifdef PERL_OBJECT +# define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags) +# define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Perl_NewPointerObj(pPerl, p, type, flags) +# define SWIG_MakePackedObj(sv, p, s, type) \ + SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type) +# define SWIG_ConvertPacked(obj, p, s, type, flags) \ + SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags) + +#else +# define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Perl_ConvertPtr(obj, pp, type, flags) +# define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Perl_NewPointerObj(p, type, flags) +# define SWIG_MakePackedObj(sv, p, s, type) \ + SWIG_Perl_MakePackedObj(sv, p, s, type ) +# define SWIG_ConvertPacked(obj, p, s, type, flags) \ + SWIG_Perl_ConvertPacked(obj, p, s, type, flags) +#endif + +/* Perl-specific API */ +#ifdef PERL_OBJECT +# define SWIG_MakePtr(sv, ptr, type, flags) \ + SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags) +# define SWIG_TypeCheckRV(rv, ty) \ + SWIG_Perl_TypeCheckRV(pPerl, rv, ty) +# define SWIG_SetError(str) \ + SWIG_Perl_SetError(pPerl, str) +#else +# define SWIG_MakePtr(sv, ptr, type, flags) \ + SWIG_Perl_MakePtr(sv, ptr, type, flags) +# define SWIG_TypeCheckRV(rv, ty) \ + SWIG_Perl_TypeCheckRV(rv, ty) +# define SWIG_SetError(str) \ + SWIG_Perl_SetError(str) +# define SWIG_SetErrorSV(str) \ + SWIG_Perl_SetErrorSV(str) +#endif + +#define SWIG_SetErrorf SWIG_Perl_SetErrorf + + +#ifdef PERL_OBJECT +# define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl, +#else +# define SWIG_MAYBE_PERL_OBJECT +#endif + +#ifdef SWIG_NOINCLUDE + +SWIGIMPORT(int) SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *, void **, swig_type_info *, int flags); +SWIGIMPORT(void) SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *, void *, swig_type_info *, int flags); +SWIGIMPORT(SV *) SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *, swig_type_info *, int flags); +SWIGIMPORT(void) SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *); +SWIGIMPORT(int) SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *, int flags); +SWIGIMPORT(swig_type_info *) SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty); +SWIGIMPORT(SV *) SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT char *); + +#else + +SWIGRUNTIME(swig_type_info *) +SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (sv_derived_from(rv, (char *) s->name)) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; + } + s = s->next; + } while (s && (s != ty->next)); + return 0; +} /* Function for getting a pointer value */ -SWIGRUNTIME int +SWIGRUNTIME(int) SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { - swig_cast_info *tc; + swig_type_info *tc; void *voidptr = (void *)0; - SV *tsv = 0; + /* If magical, apply more magic */ if (SvGMAGICAL(sv)) mg_get(sv); /* Check to see if this is an object */ if (sv_isobject(sv)) { + SV *tsv = (SV*) SvRV(sv); IV tmp = 0; - tsv = (SV*) SvRV(sv); if ((SvTYPE(tsv) == SVt_PVHV)) { MAGIC *mg; if (SvMAGICAL(tsv)) { mg = mg_find(tsv,'P'); if (mg) { - sv = mg->mg_obj; - if (sv_isobject(sv)) { - tsv = (SV*)SvRV(sv); - tmp = SvIV(tsv); + SV *rsv = mg->mg_obj; + if (sv_isobject(rsv)) { + tmp = SvIV((SV*)SvRV(rsv)); } } } else { - return SWIG_ERROR; + return -1; } } else { - tmp = SvIV(tsv); + tmp = SvIV((SV*)SvRV(sv)); + } + voidptr = (void *)tmp; + if (!_t) { + *(ptr) = voidptr; + return 0; } - voidptr = INT2PTR(void *,tmp); } else if (! SvOK(sv)) { /* Check for undef */ *(ptr) = (void *) 0; - return SWIG_OK; + return 0; } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ - if (!SvROK(sv)) { - *(ptr) = (void *) 0; - return SWIG_OK; - } else { - return SWIG_ERROR; - } + *(ptr) = (void *) 0; + if (!SvROK(sv)) + return 0; + else + return -1; } else { /* Don't know what it is */ - return SWIG_ERROR; + *(ptr) = (void *) 0; + return -1; } if (_t) { /* Now see if the types match */ - char *_c = HvNAME(SvSTASH(SvRV(sv))); - tc = SWIG_TypeProxyCheck(_c,_t); + tc = SWIG_TypeCheckRV(sv,_t); if (!tc) { - return SWIG_ERROR; + *ptr = voidptr; + return -1; } *ptr = SWIG_TypeCast(tc,voidptr); - } else { - *ptr = voidptr; + return 0; } - - /* - * DISOWN implementation: we need a perl guru to check this one. - */ - if (tsv && (flags & SWIG_POINTER_DISOWN)) { - /* - * almost copy paste code from below SWIG_POINTER_OWN setting - */ - SV *obj = sv; - HV *stash = SvSTASH(SvRV(obj)); - GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE); - if (isGV(gv)) { - HV *hv = GvHVn(gv); - /* - * To set ownership (see below), a newSViv(1) entry is added. - * Hence, to remove ownership, we delete the entry. - */ - if (hv_exists_ent(hv, obj, 0)) { - hv_delete_ent(hv, obj, 0, 0); - } - } - } - return SWIG_OK; + *ptr = voidptr; + return 0; } -SWIGRUNTIME void +SWIGRUNTIME(void) SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { if (ptr && (flags & SWIG_SHADOW)) { SV *self; SV *obj=newSV(0); HV *hash=newHV(); HV *stash; - sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr); + sv_setref_pv(obj, (char *) t->name, ptr); stash=SvSTASH(SvRV(obj)); - if (flags & SWIG_POINTER_OWN) { + if (flags & SWIG_OWNER) { HV *hv; GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); if (!isGV(gv)) @@ -1130,57 +570,73 @@ SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, i sv_bless(sv, stash); } else { - sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr); + sv_setref_pv(sv, (char *) t->name, ptr); } } -SWIGRUNTIMEINLINE SV * +SWIGRUNTIME(SV *) SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { SV *result = sv_newmortal(); SWIG_MakePtr(result, ptr, t, flags); return result; } -SWIGRUNTIME void -SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { +SWIGRUNTIME(void) + SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { char result[1024]; char *r = result; - if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return; + if ((2*sz + 1 + strlen(type->name)) > 1000) return; *(r++) = '_'; r = SWIG_PackData(r,ptr,sz); - strcpy(r,SWIG_Perl_TypeProxyName(type)); + strcpy(r,type->name); sv_setpv(sv, result); } -SWIGRUNTIME SV * -SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) { - SV *result = sv_newmortal(); - SWIG_Perl_MakePackedObj(result, ptr, sz, type); - return result; -} - /* Convert a packed value value */ -SWIGRUNTIME int -SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) { - swig_cast_info *tc; - const char *c = 0; +SWIGRUNTIME(int) +SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) { + swig_type_info *tc; + char *c = 0; - if ((!obj) || (!SvOK(obj))) return SWIG_ERROR; + if ((!obj) || (!SvOK(obj))) return -1; c = SvPV(obj, PL_na); /* Pointer values must start with leading underscore */ - if (*c != '_') return SWIG_ERROR; + if (*c != '_') return -1; c++; c = SWIG_UnpackData(c,ptr,sz); if (ty) { tc = SWIG_TypeCheck(c,ty); - if (!tc) return SWIG_ERROR; + if (!tc) return -1; } - return SWIG_OK; + return 0; } +SWIGRUNTIME(void) +SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) { + if (error) sv_setpv(perl_get_sv("@", TRUE), error); +} + +SWIGRUNTIME(void) +SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) { + if (error) sv_setsv(perl_get_sv("@", TRUE), error); +} + +SWIGRUNTIME(void) +SWIG_Perl_SetErrorf(const char *fmt, ...) { + va_list args; + va_start(args, fmt); + sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args, Null(SV**), 0, Null(bool*)); + va_end(args); +} + +#endif /* Macros for low-level exception handling */ -#define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; } +#define SWIG_fail goto fail +#define SWIG_croak(x) { SWIG_SetError(x); goto fail; } +#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; } +/* most preprocessors do not support vararg macros :-( */ +/* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */ typedef XS(SwigPerlWrapper); @@ -1210,6 +666,9 @@ typedef struct swig_constant_info { swig_type_info **ptype; } swig_constant_info; +#ifdef __cplusplus +} +#endif /* Structure for variable table */ typedef struct { @@ -1223,15 +682,14 @@ typedef struct { #ifndef PERL_OBJECT #define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) #ifndef MULTIPLICITY - SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) + static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) { #else - SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) + static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) { #endif #else # define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) -SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) +static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) { #endif -{ MAGIC *mg; sv_magic(sv,sv,'U',(char *) name,strlen(name)); mg = mg_find(sv,'U'); @@ -1244,38 +702,10 @@ SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, i } -SWIGRUNTIME swig_module_info * -SWIG_Perl_GetModule(void) { - static void *type_pointer = (void *)0; - SV *pointer; - /* first check if pointer already created */ - if (!type_pointer) { - pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE); - if (pointer && SvOK(pointer)) { - type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); - } - } - return (swig_module_info *) type_pointer; -} -SWIGRUNTIME void -SWIG_Perl_SetModule(swig_module_info *module) { - SV *pointer; - /* create a new pointer */ - pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE); - sv_setiv(pointer, PTR2IV(module)); -} - -#ifdef __cplusplus -} -#endif - -/* Workaround perl5 global namespace pollution. Note that undefining library - * functions like fopen will not solve the problem on all platforms as fopen - * might be a macro on Windows but not necessarily on other operating systems. */ #ifdef do_open #undef do_open #endif @@ -1327,61 +757,20 @@ SWIG_Perl_SetModule(swig_module_info *module) { #ifdef ref #undef ref #endif -#ifdef read - #undef read +#ifdef ENTER + #undef ENTER #endif -#ifdef write - #undef write -#endif -#ifdef eof - #undef eof -#endif -#ifdef bool - #undef bool -#endif -#ifdef close - #undef close -#endif -#ifdef rewind - #undef rewind -#endif -#ifdef free - #undef free -#endif -#ifdef malloc - #undef malloc -#endif -#ifdef calloc - #undef calloc -#endif -#ifdef Stat - #undef Stat -#endif -#ifdef check - #undef check -#endif - - - -#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) - -#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else - /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_char swig_types[0] -#define SWIGTYPE_p_p_switch_core_session_t swig_types[1] -#define SWIGTYPE_p_switch_channel_t swig_types[2] -#define SWIGTYPE_p_switch_core_session_t swig_types[3] -#define SWIGTYPE_p_switch_file_handle_t swig_types[4] -#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] -#define SWIGTYPE_p_uint32_t swig_types[6] -static swig_type_info *swig_types[8]; -static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; -#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) -#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) +#define SWIGTYPE_p_switch_channel_t swig_types[0] +#define SWIGTYPE_p_switch_file_handle_t swig_types[1] +#define SWIGTYPE_p_switch_core_session_t swig_types[2] +#define SWIGTYPE_p_p_switch_core_session_t swig_types[3] +#define SWIGTYPE_p_uint32_t swig_types[4] +#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] +static swig_type_info *swig_types[7]; /* -------- TYPES TABLE (END) -------- */ @@ -1390,257 +779,45 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; #define SWIG_name "fs_perlc::boot_fs_perl" #define SWIG_prefix "fs_perlc::" -#define SWIGVERSION 0x010329 - - -#define SWIG_as_voidptr(a) (void *)((const void *)(a)) -#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) - - #ifdef __cplusplus extern "C" #endif #ifndef PERL_OBJECT #ifndef MULTIPLICITY -SWIGEXPORT void SWIG_init (CV* cv); +SWIGEXPORT(void) SWIG_init (CV* cv); #else -SWIGEXPORT void SWIG_init (pTHXo_ CV* cv); +SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv); #endif #else -SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *); +SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *); #endif - -SWIGINTERN swig_type_info* -SWIG_pchar_descriptor() -{ - static int init = 0; - static swig_type_info* info = 0; - if (!init) { - info = SWIG_TypeQuery("_p_char"); - init = 1; - } - return info; -} - - -SWIGINTERN int -SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc) -{ - if (SvPOK(obj)) { - STRLEN len = 0; - char *cstr = SvPV(obj, len); - size_t size = len + 1; - if (cptr) { - if (alloc) { - if (*alloc == SWIG_NEWOBJ) { - *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size)); - } else { - *cptr = cstr; - *alloc = SWIG_OLDOBJ; - } - } - } - if (psize) *psize = size; - return SWIG_OK; - } else { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - if (pchar_descriptor) { - char* vptr = 0; - if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) { - if (cptr) *cptr = vptr; - if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; - if (alloc) *alloc = SWIG_OLDOBJ; - return SWIG_OK; - } - } - } - return SWIG_TypeError; -} - - - - - -SWIGINTERNINLINE SV * -SWIG_From_long SWIG_PERL_DECL_ARGS_1(long value) -{ - SV *obj = sv_newmortal(); - sv_setiv(obj, (IV) value); - return obj; -} - - -SWIGINTERNINLINE SV * -SWIG_From_int SWIG_PERL_DECL_ARGS_1(int value) -{ - return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value); -} - - -#include -#ifndef LLONG_MIN -# define LLONG_MIN LONG_LONG_MIN -#endif -#ifndef LLONG_MAX -# define LLONG_MAX LONG_LONG_MAX -#endif -#ifndef ULLONG_MAX -# define ULLONG_MAX ULONG_LONG_MAX -#endif - - -SWIGINTERN int -SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val) -{ - if (SvNIOK(obj)) { - if (val) *val = SvNV(obj); - return SWIG_OK; - } else if (SvIOK(obj)) { - if (val) *val = (double) SvIV(obj); - return SWIG_AddCast(SWIG_OK); - } else { - const char *nptr = SvPV(obj, PL_na); - if (nptr) { - char *endptr; - double v = strtod(nptr, &endptr); - if (errno == ERANGE) { - errno = 0; - return SWIG_OverflowError; - } else { - if (*endptr == '\0') { - if (val) *val = v; - return SWIG_AddCast(SWIG_OK); - } - } - } - } - return SWIG_TypeError; -} - - -#include - - -#include - - -SWIGINTERNINLINE int -SWIG_CanCastAsInteger(double *d, double min, double max) { - double x = *d; - if ((min <= x && x <= max)) { - double fx = floor(x); - double cx = ceil(x); - double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ - if ((errno == EDOM) || (errno == ERANGE)) { - errno = 0; - } else { - double summ, reps, diff; - if (rd < x) { - diff = x - rd; - } else if (rd > x) { - diff = rd - x; - } else { - return 1; - } - summ = rd + x; - reps = diff/summ; - if (reps < 8*DBL_EPSILON) { - *d = rd; - return 1; - } - } - } - return 0; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val) -{ - if (SvUOK(obj)) { - if (val) *val = SvUV(obj); - return SWIG_OK; - } else if (SvIOK(obj)) { - long v = SvIV(obj); - if (v >= 0) { - if (val) *val = v; - return SWIG_OK; - } else { - return SWIG_OverflowError; - } - } else { - int dispatch = 0; - const char *nptr = SvPV(obj, PL_na); - if (nptr) { - char *endptr; - unsigned long v = strtoul(nptr, &endptr,0); - if (errno == ERANGE) { - errno = 0; - return SWIG_OverflowError; - } else { - if (*endptr == '\0') { - if (val) *val = v; - return SWIG_AddCast(SWIG_OK); - } - } - } - if (!dispatch) { - double d; - int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { - if (val) *val = (unsigned long)(d); - return res; - } - } - } - return SWIG_TypeError; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_int SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned int *val) -{ - unsigned long v; - int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v); - if (SWIG_IsOK(res)) { - if ((v > UINT_MAX)) { - return SWIG_OverflowError; - } else { - if (val) *val = (unsigned int)(v); - } - } - return res; -} - - -SWIGINTERNINLINE SV * -SWIG_FromCharPtrAndSize(const char* carray, size_t size) -{ - SV *obj = sv_newmortal(); - if (size && carray) { - if (carray[size - 1] == 0) { - sv_setpv(obj, carray); - } else { - char *tmp = (char *)malloc((size + 1)*sizeof(char)); - memcpy(tmp, carray, size); - tmp[size] = 0; - sv_setpv(obj, tmp); - free((char*)tmp); - } - } else { - sv_setsv(obj, &PL_sv_undef); - } - return obj; -} - - -SWIGINTERNINLINE SV * -SWIG_FromCharPtr(const char *cptr) -{ - return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); -} - +extern void fs_core_set_globals(void); +extern int fs_core_init(char *); +extern int fs_core_destroy(void); +extern int fs_loadable_module_init(void); +extern int fs_loadable_module_shutdown(void); +extern int fs_console_loop(void); +extern void fs_consol_log(char *,char *); +extern void fs_consol_clean(char *); +extern switch_core_session_t *fs_core_session_locate(char *); +extern void fs_channel_answer(switch_core_session_t *); +extern void fs_channel_pre_answer(switch_core_session_t *); +extern void fs_channel_hangup(switch_core_session_t *,char *); +extern void fs_channel_set_variable(switch_core_session_t *,char *,char *); +extern void fs_channel_get_variable(switch_core_session_t *,char *); +extern void fs_channel_set_state(switch_core_session_t *,char *); +extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t); +extern int fs_ivr_play_file2(switch_core_session_t *,char *); +extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int); +extern int fs_switch_ivr_collect_digits_count(switch_core_session_t *,char *,unsigned int,unsigned int,char const *,char *,unsigned int); +extern int fs_switch_ivr_originate(switch_core_session_t *,switch_core_session_t **,char *,uint32_t); +extern int fs_switch_ivr_session_transfer(switch_core_session_t *,char *,char *,char *); +extern int fs_switch_ivr_speak_text(switch_core_session_t *,char *,char *,char *,uint32_t,switch_input_callback_function_t,char *,void *,unsigned int); +extern char *fs_switch_channel_get_variable(switch_channel_t *,char *); +extern int fs_switch_channel_set_variable(switch_channel_t *,char *,char *); #include "switch.h" @@ -1651,8 +828,9 @@ public: #else #define MAGIC_CLASS #endif -SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) { +SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) { MAGIC_PPERL + sv = sv; mg = mg; croak("Value is read-only."); return 0; } @@ -1666,1212 +844,862 @@ SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SW extern "C" { #endif XS(_wrap_fs_core_set_globals) { - { - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_core_set_globals();"); + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: fs_core_set_globals();"); + } + fs_core_set_globals(); + + + XSRETURN(argvi); + fail: + ; } - fs_core_set_globals(); - - XSRETURN(argvi); - fail: - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_core_init) { - { - char *arg1 = (char *) 0 ; - int result; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_core_init(path);"); + { + char *arg1 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: fs_core_init(path);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (int)fs_core_init(arg1); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_init" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (int)fs_core_init(arg1); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - XSRETURN(argvi); - fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_core_destroy) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_core_destroy();"); + { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: fs_core_destroy();"); + } + result = (int)fs_core_destroy(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_core_destroy(); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - XSRETURN(argvi); - fail: - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_loadable_module_init) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_loadable_module_init();"); + { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: fs_loadable_module_init();"); + } + result = (int)fs_loadable_module_init(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_loadable_module_init(); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - XSRETURN(argvi); - fail: - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_loadable_module_shutdown) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_loadable_module_shutdown();"); + { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: fs_loadable_module_shutdown();"); + } + result = (int)fs_loadable_module_shutdown(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_loadable_module_shutdown(); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - XSRETURN(argvi); - fail: - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_console_loop) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_console_loop();"); + { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: fs_console_loop();"); + } + result = (int)fs_console_loop(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_console_loop(); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - XSRETURN(argvi); - fail: - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_consol_log) { - { - char *arg1 = (char *) 0 ; - char *arg2 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_consol_log(level_str,msg);"); + { + char *arg1 ; + char *arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_consol_log(level_str,msg);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + fs_consol_log(arg1,arg2); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_log" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_consol_log" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_consol_log(arg1,arg2); - - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_consol_clean) { - { - char *arg1 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_consol_clean(msg);"); + { + char *arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: fs_consol_clean(msg);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + fs_consol_clean(arg1); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_clean" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - fs_consol_clean(arg1); - - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - XSRETURN(argvi); - fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_core_session_locate) { - { - char *arg1 = (char *) 0 ; - switch_core_session_t *result = 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_core_session_locate(uuid);"); + { + char *arg1 ; + switch_core_session_t *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: fs_core_session_locate(uuid);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (switch_core_session_t *)fs_core_session_locate(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_switch_core_session_t, 0|0); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_session_locate" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (switch_core_session_t *)fs_core_session_locate(arg1); - ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0); argvi++ ; - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - XSRETURN(argvi); - fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_answer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_channel_answer(session);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: fs_channel_answer(session);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_answer. Expected _p_switch_core_session_t"); + } + } + fs_channel_answer(arg1); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_answer(arg1); - - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_pre_answer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_channel_pre_answer(session);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: fs_channel_pre_answer(session);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_pre_answer. Expected _p_switch_core_session_t"); + } + } + fs_channel_pre_answer(arg1); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_pre_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_pre_answer(arg1); - - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_hangup) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_hangup(session,cause);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_channel_hangup(session,cause);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_hangup. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + fs_channel_hangup(arg1,arg2); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_hangup" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_hangup" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_hangup(arg1,arg2); - - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_set_variable) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 3) || (items > 3)) { - SWIG_croak("Usage: fs_channel_set_variable(session,var,val);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: fs_channel_set_variable(session,var,val);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_set_variable. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + fs_channel_set_variable(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - fs_channel_set_variable(arg1,arg2,arg3); - - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_get_variable) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_get_variable(session,var);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_channel_get_variable(session,var);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_get_variable. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + fs_channel_get_variable(arg1,arg2); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_get_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_get_variable(arg1,arg2); - - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_channel_set_state) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_set_state(session,state);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_channel_set_state(session,state);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_channel_set_state. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + fs_channel_set_state(arg1,arg2); + + + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_state" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_state" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_set_state(arg1,arg2); - - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_ivr_play_file) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 6) || (items > 6)) { - SWIG_croak("Usage: fs_ivr_play_file(session,file,timer_name,dtmf_callback,buf,buflen);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_ivr_play_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; { - res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 6) || (items > 6)) { + SWIG_croak("Usage: fs_ivr_play_file(session,file,timer_name,dtmf_callback,buf,buflen);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_ivr_play_file. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + { + switch_input_callback_function_t * argp; + if (SWIG_ConvertPtr(ST(3),(void **) &argp, SWIGTYPE_p_switch_input_callback_function_t,0) < 0) { + SWIG_croak("Type error in argument 4 of fs_ivr_play_file. Expected _p_switch_input_callback_function_t"); + } + arg4 = *argp; + } + { + if (SWIG_ConvertPtr(ST(4), (void **) &arg5, 0,0) < 0) { + SWIG_croak("Type error in argument 5 of fs_ivr_play_file. Expected _p_void"); + } + } + arg6 = (unsigned int) SvUV(ST(5)); + result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res5 = SWIG_ConvertPtr(ST(4),SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_ivr_play_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_ivr_play_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - - - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_record_file) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 6) || (items > 6)) { - SWIG_croak("Usage: fs_switch_ivr_record_file(session,fh,file,dtmf_callback,buf,buflen);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_record_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_switch_file_handle_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_record_file" "', argument " "2"" of type '" "switch_file_handle_t *""'"); - } - arg2 = (switch_file_handle_t *)(argp2); - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_record_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; { - res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 6) || (items > 6)) { + SWIG_croak("Usage: fs_switch_ivr_record_file(session,fh,file,dtmf_callback,buf,buflen);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_record_file. Expected _p_switch_core_session_t"); + } + } + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_switch_file_handle_t,0) < 0) { + SWIG_croak("Type error in argument 2 of fs_switch_ivr_record_file. Expected _p_switch_file_handle_t"); + } + } + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + { + switch_input_callback_function_t * argp; + if (SWIG_ConvertPtr(ST(3),(void **) &argp, SWIGTYPE_p_switch_input_callback_function_t,0) < 0) { + SWIG_croak("Type error in argument 4 of fs_switch_ivr_record_file. Expected _p_switch_input_callback_function_t"); + } + arg4 = *argp; + } + { + if (SWIG_ConvertPtr(ST(4), (void **) &arg5, 0,0) < 0) { + SWIG_croak("Type error in argument 5 of fs_switch_ivr_record_file. Expected _p_void"); + } + } + arg6 = (unsigned int) SvUV(ST(5)); + result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res5 = SWIG_ConvertPtr(ST(4),SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_record_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_switch_ivr_record_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - - - XSRETURN(argvi); - fail: - - - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_sleep) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - uint32_t arg2 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_switch_ivr_sleep(session,ms);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_sleep" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); { - res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } else { - arg2 = *((uint32_t *)(argp2)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + uint32_t arg2 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_switch_ivr_sleep(session,ms);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_sleep. Expected _p_switch_core_session_t"); + } + } + { + uint32_t * argp; + if (SWIG_ConvertPtr(ST(1),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { + SWIG_croak("Type error in argument 2 of fs_switch_ivr_sleep. Expected _p_uint32_t"); + } + arg2 = *argp; + } + result = (int)fs_switch_ivr_sleep(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_switch_ivr_sleep(arg1,arg2); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_ivr_play_file2) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_ivr_play_file2(session,file);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_ivr_play_file2(session,file);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_ivr_play_file2. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (int)fs_ivr_play_file2(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file2" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file2" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (int)fs_ivr_play_file2(arg1,arg2); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_collect_digits_callback) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_input_callback_function_t arg2 ; - void *arg3 = (void *) 0 ; - unsigned int arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - int res3 ; - unsigned int val4 ; - int ecode4 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_switch_ivr_collect_digits_callback(session,dtmf_callback,buf,buflen);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); { - res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } else { - arg2 = *((switch_input_callback_function_t *)(argp2)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_input_callback_function_t arg2 ; + void *arg3 = (void *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + SWIG_croak("Usage: fs_switch_ivr_collect_digits_callback(session,dtmf_callback,buf,buflen,timeout);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_collect_digits_callback. Expected _p_switch_core_session_t"); + } + } + { + switch_input_callback_function_t * argp; + if (SWIG_ConvertPtr(ST(1),(void **) &argp, SWIGTYPE_p_switch_input_callback_function_t,0) < 0) { + SWIG_croak("Type error in argument 2 of fs_switch_ivr_collect_digits_callback. Expected _p_switch_input_callback_function_t"); + } + arg2 = *argp; + } + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, 0,0) < 0) { + SWIG_croak("Type error in argument 3 of fs_switch_ivr_collect_digits_callback. Expected _p_void"); + } + } + arg4 = (unsigned int) SvUV(ST(3)); + arg5 = (unsigned int) SvUV(ST(4)); + result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4,arg5); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3), 0, 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "3"" of type '" "void *""'"); - } - ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - - - XSRETURN(argvi); - fail: - - - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_collect_digits_count) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - unsigned int arg3 ; - unsigned int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - unsigned int arg7 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - unsigned int val3 ; - int ecode3 = 0 ; - unsigned int val4 ; - int ecode4 = 0 ; - int res5 ; - char *buf5 = 0 ; - int alloc5 = 0 ; - int res6 ; - char *buf6 = 0 ; - int alloc6 = 0 ; - unsigned int val7 ; - int ecode7 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 7) || (items > 7)) { - SWIG_croak("Usage: fs_switch_ivr_collect_digits_count(session,buf,buflen,maxdigits,terminators,terminator,timeout);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + unsigned int arg3 ; + unsigned int arg4 ; + char *arg5 ; + char *arg6 ; + unsigned int arg7 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 7) || (items > 7)) { + SWIG_croak("Usage: fs_switch_ivr_collect_digits_count(session,buf,buflen,maxdigits,terminators,terminator,timeout);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_collect_digits_count. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + arg3 = (unsigned int) SvUV(ST(2)); + arg4 = (unsigned int) SvUV(ST(3)); + if (!SvOK((SV*) ST(4))) arg5 = 0; + else arg5 = (char *) SvPV(ST(4), PL_na); + if (!SvOK((SV*) ST(5))) arg6 = 0; + else arg6 = (char *) SvPV(ST(5), PL_na); + arg7 = (unsigned int) SvUV(ST(6)); + result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "3"" of type '" "unsigned int""'"); - } - arg3 = (unsigned int)(val3); - ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "5"" of type '" "char const *""'"); - } - arg5 = buf5; - res6 = SWIG_AsCharPtrAndSize(ST(5), &buf6, NULL, &alloc6); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "6"" of type '" "char *""'"); - } - arg6 = buf6; - ecode7 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "7"" of type '" "unsigned int""'"); - } - arg7 = (unsigned int)(val7); - result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - - - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - - - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_originate) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; - char *arg3 = (char *) 0 ; - uint32_t arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_switch_ivr_originate(session,bleg,bridgeto,timelimit_sec);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_originate" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_originate" "', argument " "2"" of type '" "switch_core_session_t **""'"); - } - arg2 = (switch_core_session_t **)(argp2); - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_originate" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; { - res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } else { - arg4 = *((uint32_t *)(argp4)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; + char *arg3 ; + uint32_t arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: fs_switch_ivr_originate(session,bleg,bridgeto,timelimit_sec);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_originate. Expected _p_switch_core_session_t"); + } + } + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 2 of fs_switch_ivr_originate. Expected _p_p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + { + uint32_t * argp; + if (SWIG_ConvertPtr(ST(3),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { + SWIG_croak("Type error in argument 4 of fs_switch_ivr_originate. Expected _p_uint32_t"); + } + arg4 = *argp; + } + result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - XSRETURN(argvi); - fail: - - - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_session_transfer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_switch_ivr_session_transfer(session,extension,dialplan,context);"); + { + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: fs_switch_ivr_session_transfer(session,extension,dialplan,context);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_session_transfer. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + if (!SvOK((SV*) ST(3))) arg4 = 0; + else arg4 = (char *) SvPV(ST(3), PL_na); + result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_session_transfer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_session_transfer" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_session_transfer" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_session_transfer" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; - result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_ivr_speak_text) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - uint32_t arg5 ; - switch_input_callback_function_t arg6 ; - char *arg7 = (char *) 0 ; - void *arg8 = (void *) 0 ; - unsigned int arg9 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - void *argp5 ; - int res5 = 0 ; - void *argp6 ; - int res6 = 0 ; - int res7 ; - char *buf7 = 0 ; - int alloc7 = 0 ; - int res8 ; - unsigned int val9 ; - int ecode9 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 9) || (items > 9)) { - SWIG_croak("Usage: fs_switch_ivr_speak_text(session,tts_name,voice_name,timer_name,rate,dtmf_callback,text,buf,buflen);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_speak_text" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_speak_text" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_speak_text" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_speak_text" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; { - res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } - if (!argp5) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } else { - arg5 = *((uint32_t *)(argp5)); - } + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + uint32_t arg5 ; + switch_input_callback_function_t arg6 ; + char *arg7 ; + void *arg8 = (void *) 0 ; + unsigned int arg9 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 9) || (items > 9)) { + SWIG_croak("Usage: fs_switch_ivr_speak_text(session,tts_name,voice_name,timer_name,rate,dtmf_callback,text,buf,buflen);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_ivr_speak_text. Expected _p_switch_core_session_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + if (!SvOK((SV*) ST(3))) arg4 = 0; + else arg4 = (char *) SvPV(ST(3), PL_na); + { + uint32_t * argp; + if (SWIG_ConvertPtr(ST(4),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { + SWIG_croak("Type error in argument 5 of fs_switch_ivr_speak_text. Expected _p_uint32_t"); + } + arg5 = *argp; + } + { + switch_input_callback_function_t * argp; + if (SWIG_ConvertPtr(ST(5),(void **) &argp, SWIGTYPE_p_switch_input_callback_function_t,0) < 0) { + SWIG_croak("Type error in argument 6 of fs_switch_ivr_speak_text. Expected _p_switch_input_callback_function_t"); + } + arg6 = *argp; + } + if (!SvOK((SV*) ST(6))) arg7 = 0; + else arg7 = (char *) SvPV(ST(6), PL_na); + { + if (SWIG_ConvertPtr(ST(7), (void **) &arg8, 0,0) < 0) { + SWIG_croak("Type error in argument 8 of fs_switch_ivr_speak_text. Expected _p_void"); + } + } + arg9 = (unsigned int) SvUV(ST(8)); + result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - { - res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp6) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } else { - arg6 = *((switch_input_callback_function_t *)(argp6)); - } - } - res7 = SWIG_AsCharPtrAndSize(ST(6), &buf7, NULL, &alloc7); - if (!SWIG_IsOK(res7)) { - SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "fs_switch_ivr_speak_text" "', argument " "7"" of type '" "char *""'"); - } - arg7 = buf7; - res8 = SWIG_ConvertPtr(ST(7),SWIG_as_voidptrptr(&arg8), 0, 0); - if (!SWIG_IsOK(res8)) { - SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "fs_switch_ivr_speak_text" "', argument " "8"" of type '" "void *""'"); - } - ecode9 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9); - if (!SWIG_IsOK(ecode9)) { - SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "fs_switch_ivr_speak_text" "', argument " "9"" of type '" "unsigned int""'"); - } - arg9 = (unsigned int)(val9); - result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - - - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - - - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_channel_get_variable) { - { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *result = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_switch_channel_get_variable(channel,varname);"); + { + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: fs_switch_channel_get_variable(channel,varname);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_channel_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_channel_get_variable. Expected _p_switch_channel_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (char *)fs_switch_channel_get_variable(arg1,arg2); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_get_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (char *)fs_switch_channel_get_variable(arg1,arg2); - ST(argvi) = SWIG_FromCharPtr(result); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - SWIG_croak_null(); - } + croak(Nullch); } XS(_wrap_fs_switch_channel_set_variable) { - { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 3) || (items > 3)) { - SWIG_croak("Usage: fs_switch_channel_set_variable(channel,varname,value);"); + { + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *arg3 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: fs_switch_channel_set_variable(channel,varname,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_channel_t,0) < 0) { + SWIG_croak("Type error in argument 1 of fs_switch_channel_set_variable. Expected _p_switch_channel_t"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_set_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); - ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - XSRETURN(argvi); - fail: - - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - SWIG_croak_null(); - } + croak(Nullch); } /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ -static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_p_switch_core_session_t = {"_p_p_switch_core_session_t", "switch_core_session_t **", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_core_session_t = {"_p_switch_core_session_t", "switch_core_session_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_file_handle_t = {"_p_switch_file_handle_t", "switch_file_handle_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_input_callback_function_t = {"_p_switch_input_callback_function_t", "switch_input_callback_function_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_uint32_t = {"_p_uint32_t", "uint32_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_channel_t[] = {{"_p_switch_channel_t", 0, "switch_channel_t *", 0},{"_p_switch_channel_t"},{0}}; +static swig_type_info _swigt__p_switch_file_handle_t[] = {{"_p_switch_file_handle_t", 0, "switch_file_handle_t *", 0},{"_p_switch_file_handle_t"},{0}}; +static swig_type_info _swigt__p_switch_core_session_t[] = {{"_p_switch_core_session_t", 0, "switch_core_session_t *", 0},{"_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_p_switch_core_session_t[] = {{"_p_p_switch_core_session_t", 0, "switch_core_session_t **", 0},{"_p_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_uint32_t[] = {{"_p_uint32_t", 0, "uint32_t *", 0},{"_p_uint32_t"},{0}}; +static swig_type_info _swigt__p_switch_input_callback_function_t[] = {{"_p_switch_input_callback_function_t", 0, "switch_input_callback_function_t *", 0},{"_p_switch_input_callback_function_t"},{0}}; -static swig_type_info *swig_type_initial[] = { - &_swigt__p_char, - &_swigt__p_p_switch_core_session_t, - &_swigt__p_switch_channel_t, - &_swigt__p_switch_core_session_t, - &_swigt__p_switch_file_handle_t, - &_swigt__p_switch_input_callback_function_t, - &_swigt__p_uint32_t, -}; - -static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_p_switch_core_session_t[] = { {&_swigt__p_p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_channel_t[] = { {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_core_session_t[] = { {&_swigt__p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_file_handle_t[] = { {&_swigt__p_switch_file_handle_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_input_callback_function_t[] = { {&_swigt__p_switch_input_callback_function_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_uint32_t[] = { {&_swigt__p_uint32_t, 0, 0, 0},{0, 0, 0, 0}}; - -static swig_cast_info *swig_cast_initial[] = { - _swigc__p_char, - _swigc__p_p_switch_core_session_t, - _swigc__p_switch_channel_t, - _swigc__p_switch_core_session_t, - _swigc__p_switch_file_handle_t, - _swigc__p_switch_input_callback_function_t, - _swigc__p_uint32_t, +static swig_type_info *swig_types_initial[] = { +_swigt__p_switch_channel_t, +_swigt__p_switch_file_handle_t, +_swigt__p_switch_core_session_t, +_swigt__p_p_switch_core_session_t, +_swigt__p_uint32_t, +_swigt__p_switch_input_callback_function_t, +0 }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ static swig_constant_info swig_constants[] = { -{0,0,0,0,0,0} +{0} }; #ifdef __cplusplus } #endif static swig_variable_info swig_variables[] = { -{0,0,0,0} +{0} }; static swig_command_info swig_commands[] = { {"fs_perlc::fs_core_set_globals", _wrap_fs_core_set_globals}, @@ -2902,273 +1730,66 @@ static swig_command_info swig_commands[] = { {"fs_perlc::fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable}, {0,0} }; -/* ----------------------------------------------------------------------------- - * Type initialization: - * This problem is tough by the requirement that no dynamic - * memory is used. Also, since swig_type_info structures store pointers to - * swig_cast_info structures and swig_cast_info structures store pointers back - * to swig_type_info structures, we need some lookup code at initialization. - * The idea is that swig generates all the structures that are needed. - * The runtime then collects these partially filled structures. - * The SWIG_InitializeModule function takes these initial arrays out of - * swig_module, and does all the lookup, filling in the swig_module.types - * array with the correct data and linking the correct swig_cast_info - * structures together. - * - * The generated swig_type_info structures are assigned staticly to an initial - * array. We just loop though that array, and handle each type individually. - * First we lookup if this type has been already loaded, and if so, use the - * loaded structure instead of the generated one. Then we have to fill in the - * cast linked list. The cast data is initially stored in something like a - * two-dimensional array. Each row corresponds to a type (there are the same - * number of rows as there are in the swig_type_initial array). Each entry in - * a column is one of the swig_cast_info structures for that type. - * The cast_initial array is actually an array of arrays, because each row has - * a variable number of columns. So to actually build the cast linked list, - * we find the array of casts associated with the type, and loop through it - * adding the casts to the list. The one last trick we need to do is making - * sure the type pointer in the swig_cast_info struct is correct. - * - * First off, we lookup the cast->type name to see if it is already loaded. - * There are three cases to handle: - * 1) If the cast->type has already been loaded AND the type we are adding - * casting info to has not been loaded (it is in this module), THEN we - * replace the cast->type pointer with the type pointer that has already - * been loaded. - * 2) If BOTH types (the one we are adding casting info to, and the - * cast->type) are loaded, THEN the cast info has already been loaded by - * the previous module so we just ignore it. - * 3) Finally, if cast->type has not already been loaded, then we add that - * swig_cast_info to the linked list (because the cast->type) pointer will - * be correct. - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* c-mode */ -#endif -#endif - -#if 0 -#define SWIGRUNTIME_DEBUG -#endif - -SWIGRUNTIME void -SWIG_InitializeModule(void *clientdata) { - size_t i; - swig_module_info *module_head; - static int init_run = 0; - - clientdata = clientdata; - - if (init_run) return; - init_run = 1; - - /* Initialize the swig_module */ - swig_module.type_initial = swig_type_initial; - swig_module.cast_initial = swig_cast_initial; - - /* Try and load any already created modules */ - module_head = SWIG_GetModule(clientdata); - if (module_head) { - swig_module.next = module_head->next; - module_head->next = &swig_module; - } else { - /* This is the first module loaded */ - swig_module.next = &swig_module; - SWIG_SetModule(clientdata, &swig_module); - } - - /* Now work on filling in swig_module.types */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: size %d\n", swig_module.size); -#endif - for (i = 0; i < swig_module.size; ++i) { - swig_type_info *type = 0; - swig_type_info *ret; - swig_cast_info *cast; - -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); -#endif - - /* if there is another module already loaded */ - if (swig_module.next != &swig_module) { - type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); - } - if (type) { - /* Overwrite clientdata field */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found type %s\n", type->name); -#endif - if (swig_module.type_initial[i]->clientdata) { - type->clientdata = swig_module.type_initial[i]->clientdata; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); -#endif - } - } else { - type = swig_module.type_initial[i]; - } - - /* Insert casting types */ - cast = swig_module.cast_initial[i]; - while (cast->type) { - /* Don't need to add information already in the list */ - ret = 0; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); -#endif - if (swig_module.next != &swig_module) { - ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); -#ifdef SWIGRUNTIME_DEBUG - if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); -#endif - } - if (ret) { - if (type == swig_module.type_initial[i]) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: skip old type %s\n", ret->name); -#endif - cast->type = ret; - ret = 0; - } else { - /* Check for casting already in the list */ - swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); -#ifdef SWIGRUNTIME_DEBUG - if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); -#endif - if (!ocast) ret = 0; - } - } - - if (!ret) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); -#endif - if (type->cast) { - type->cast->prev = cast; - cast->next = type->cast; - } - type->cast = cast; - } - cast++; - } - /* Set entry in modules->types array equal to the type */ - swig_module.types[i] = type; - } - swig_module.types[i] = 0; - -#ifdef SWIGRUNTIME_DEBUG - printf("**** SWIG_InitializeModule: Cast List ******\n"); - for (i = 0; i < swig_module.size; ++i) { - int j = 0; - swig_cast_info *cast = swig_module.cast_initial[i]; - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); - while (cast->type) { - printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); - cast++; - ++j; - } - printf("---- Total casts: %d\n",j); - } - printf("**** SWIG_InitializeModule: Cast List ******\n"); -#endif -} - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientData(void) { - size_t i; - swig_cast_info *equiv; - static int init_run = 0; - - if (init_run) return; - init_run = 1; - - for (i = 0; i < swig_module.size; i++) { - if (swig_module.types[i]->clientdata) { - equiv = swig_module.types[i]->cast; - while (equiv) { - if (!equiv->converter) { - if (equiv->type && !equiv->type->clientdata) - SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); - } - equiv = equiv->next; - } - } - } -} - -#ifdef __cplusplus -#if 0 -{ - /* c-mode */ -#endif -} -#endif - - #ifdef __cplusplus extern "C" #endif XS(SWIG_init) { - dXSARGS; - int i; - - SWIG_InitializeModule(0); - - /* Install commands */ - for (i = 0; swig_commands[i].name; i++) { - newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); - } - - /* Install variables */ - for (i = 0; swig_variables[i].name; i++) { - SV *sv; - sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2); - if (swig_variables[i].type) { - SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); - } else { - sv_setiv(sv,(IV) 0); + dXSARGS; + int i; + static int _init = 0; + if (!_init) { + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); + } + _init = 1; } - swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); - } - - /* Install constant */ - for (i = 0; swig_constants[i].type; i++) { - SV *sv; - sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2); - switch(swig_constants[i].type) { - case SWIG_INT: - sv_setiv(sv, (IV) swig_constants[i].lvalue); - break; - case SWIG_FLOAT: - sv_setnv(sv, (double) swig_constants[i].dvalue); - break; - case SWIG_STRING: - sv_setpv(sv, (char *) swig_constants[i].pvalue); - break; - case SWIG_POINTER: - SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); - break; - case SWIG_BINARY: - SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); - break; - default: - break; + + /* Install commands */ + for (i = 0; swig_commands[i].name; i++) { + newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); } - SvREADONLY_on(sv); - } - - ST(0) = &PL_sv_yes; - XSRETURN(1); + + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; + sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + } else { + sv_setiv(sv,(IV) 0); + } + swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); + } + + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; + sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); + break; + case SWIG_FLOAT: + sv_setnv(sv, (double) swig_constants[i].dvalue); + break; + case SWIG_STRING: + sv_setpv(sv, (char *) swig_constants[i].pvalue); + break; + case SWIG_POINTER: + SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); + break; + case SWIG_BINARY: + SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); + break; + default: + break; + } + SvREADONLY_on(sv); + } + + ST(0) = &PL_sv_yes; + XSRETURN(1); } diff --git a/src/mod/languages/mod_php/switch_swig_wrap.c b/src/mod/languages/mod_php/switch_swig_wrap.c index 7aad79205f..88341ded97 100644 --- a/src/mod/languages/mod_php/switch_swig_wrap.c +++ b/src/mod/languages/mod_php/switch_swig_wrap.c @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.29 + * Version 1.3.21 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -8,284 +8,72 @@ * interface file instead. * ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* ----------------------------------------------------------------------------- - * swigrun.swg +/*************************************************************** -*- c -*- + * php4/precommon.swg * - * This file contains generic CAPI SWIG runtime support for pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "2" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -# define SWIG_QUOTE_STRING(x) #x -# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -# define SWIG_TYPE_TABLE_NAME -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the swig runtime code. - In 99.9% of the cases, swig just needs to declare them as 'static'. - - But only do this if is strictly necessary, ie, if you have problems - with your compiler or so. -*/ - -#ifndef SWIGRUNTIME -# define SWIGRUNTIME SWIGINTERN -#endif - -#ifndef SWIGRUNTIMEINLINE -# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -/* Generic buffer size */ -#ifndef SWIG_BUFFER_SIZE -# define SWIG_BUFFER_SIZE 1024 -#endif - -/* Flags for pointer conversions */ -#define SWIG_POINTER_DISOWN 0x1 - -/* Flags for new pointer objects */ -#define SWIG_POINTER_OWN 0x1 - - -/* - Flags/methods for returning states. - - The swig conversion methods, as ConvertPtr, return and integer - that tells if the conversion was successful or not. And if not, - an error code can be returned (see swigerrors.swg for the codes). - - Use the following macros/flags to set or process the returning - states. - - In old swig versions, you usually write code as: - - if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { - // success code - } else { - //fail code - } - - Now you can be more explicit as: - - int res = SWIG_ConvertPtr(obj,vptr,ty.flags); - if (SWIG_IsOK(res)) { - // success code - } else { - // fail code - } - - that seems to be the same, but now you can also do - - Type *ptr; - int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); - if (SWIG_IsOK(res)) { - // success code - if (SWIG_IsNewObj(res) { - ... - delete *ptr; - } else { - ... - } - } else { - // fail code - } - - I.e., now SWIG_ConvertPtr can return new objects and you can - identify the case and take care of the deallocation. Of course that - requires also to SWIG_ConvertPtr to return new result values, as - - int SWIG_ConvertPtr(obj, ptr,...) { - if () { - if () { - *ptr = ; - return SWIG_NEWOBJ; - } else { - *ptr = ; - return SWIG_OLDOBJ; - } - } else { - return SWIG_BADOBJ; - } - } - - Of course, returning the plain '0(success)/-1(fail)' still works, but you can be - more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the - swig errors code. - - Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this - - int food(double) - int fooi(int); - - and you call - - food(1) // cast rank '1' (1 -> 1.0) - fooi(1) // cast rank '0' - - just use the SWIG_AddCast()/SWIG_CheckState() - - - */ -#define SWIG_OK (0) -#define SWIG_ERROR (-1) -#define SWIG_IsOK(r) (r >= 0) -#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) - -/* The CastRankLimit says how many bits are used for the cast rank */ -#define SWIG_CASTRANKLIMIT (1 << 8) -/* The NewMask denotes the object was created (using new/malloc) */ -#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) -/* The TmpMask is for in/out typemaps that use temporal objects */ -#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) -/* Simple returning values */ -#define SWIG_BADOBJ (SWIG_ERROR) -#define SWIG_OLDOBJ (SWIG_OK) -#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) -#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ -#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) -#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) -#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) -#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) -#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) -#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) - - -/* Cast-Rank Mode */ -#if defined(SWIG_CASTRANK_MODE) -# ifndef SWIG_TypeRank -# define SWIG_TypeRank unsigned long -# endif -# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ -# define SWIG_MAXCASTRANK (2) -# endif -# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) -# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) -SWIGINTERNINLINE int SWIG_AddCast(int r) { - return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; -} -SWIGINTERNINLINE int SWIG_CheckState(int r) { - return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; -} -#else /* no cast-rank mode */ -# define SWIG_AddCast -# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) -#endif + * Rename all exported symbols from common.swg, to avoid symbol + * clashes if multiple interpreters are included + * + ************************************************************************/ +#define SWIG_TypeRegister SWIG_PHP4_TypeRegister +#define SWIG_TypeCheck SWIG_PHP4_TypeCheck +#define SWIG_TypeCast SWIG_PHP4_TypeCast +#define SWIG_TypeDynamicCast SWIG_PHP4_TypeDynamicCast +#define SWIG_TypeName SWIG_PHP4_TypeName +#define SWIG_TypeQuery SWIG_PHP4_TypeQuery +#define SWIG_TypeClientData SWIG_PHP4_TypeClientData +#define SWIG_PackData SWIG_PHP4_PackData +#define SWIG_UnpackData SWIG_PHP4_UnpackData +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ #include #include "switch.h" +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(_MSC_VER) || defined(__GNUC__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) extern a +# else +# define SWIGEXPORT(a) __declspec(dllexport) a +# define SWIGIMPORT(a) extern a +# endif +# else +# if defined(__BORLANDC__) +# define SWIGEXPORT(a) a _export +# define SWIGIMPORT(a) a _export +# else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +# endif +# endif +#else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +#endif + +#ifdef SWIG_GLOBAL +# define SWIGRUNTIME(a) SWIGEXPORT(a) +#else +# define SWIGRUNTIME(a) static a +#endif + #ifdef __cplusplus extern "C" { #endif @@ -293,141 +81,106 @@ extern "C" { typedef void *(*swig_converter_func)(void *); typedef struct swig_type_info *(*swig_dycast_func)(void **); -/* Structure to store inforomation on one type */ typedef struct swig_type_info { - const char *name; /* mangled name of this type */ - const char *str; /* human readable name of this type */ - swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ - struct swig_cast_info *cast; /* linked list of types that can cast into this type */ - void *clientdata; /* language specific type data */ - int owndata; /* flag if the structure owns the clientdata */ + const char *name; + swig_converter_func converter; + const char *str; + void *clientdata; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; } swig_type_info; -/* Structure to store a type and conversion function used for casting */ -typedef struct swig_cast_info { - swig_type_info *type; /* pointer to type that is equivalent to this type */ - swig_converter_func converter; /* function to cast the void pointers */ - struct swig_cast_info *next; /* pointer to next cast in linked list */ - struct swig_cast_info *prev; /* pointer to the previous cast */ -} swig_cast_info; +#ifdef SWIG_NOINCLUDE -/* Structure used to store module information - * Each module generates one structure like this, and the runtime collects - * all of these structures and stores them in a circularly linked list.*/ -typedef struct swig_module_info { - swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ - size_t size; /* Number of types in this module */ - struct swig_module_info *next; /* Pointer to next element in circularly linked list */ - swig_type_info **type_initial; /* Array of initially generated type structures */ - swig_cast_info **cast_initial; /* Array of initially generated casting structures */ - void *clientdata; /* Language specific module data */ -} swig_module_info; +SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); +SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); +SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); +SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); +SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); +SWIGIMPORT(char *) SWIG_PackData(char *, void *, int); +SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int); -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. +#else - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; - } - return (l1 - f1) - (l2 - f2); -} +static swig_type_info *swig_type_list = 0; -/* - Check type equivalence in a name list like ||... - Return 0 if not equal, 1 if equal -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Register a type mapping with the type-checking */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeRegister(swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = swig_type_list; + while (tc) { + if (strcmp(tc->name, ti->name) == 0) { + /* Already exists in the table. Just add additional types to the list */ + if (tc->clientdata) ti->clientdata = tc->clientdata; + head = tc; + next = tc->next; + goto l1; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; + tc = tc->prev; } - return equiv; + head = ti; + next = 0; + + /* Place in list */ + ti->prev = swig_type_list; + swig_type_list = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + if (next) next->prev = head; + head->next = next; + return ret; } -/* - Check type equivalence in a name list like ||... - Return 0 if equal, -1 if nb < tb, 1 if nb > tb -*/ -SWIGRUNTIME int -SWIG_TypeCompare(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Check the typename */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeCheck(char *c, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; - } - return equiv; + s = s->next; + } while (s && (s != ty->next)); + return 0; } - -/* think of this as a c++ template<> or a scheme macro */ -#define SWIG_TypeCheck_Template(comparison, ty) \ - if (ty) { \ - swig_cast_info *iter = ty->cast; \ - while (iter) { \ - if (comparison) { \ - if (iter == ty->cast) return iter; \ - /* Move iter to the top of the linked list */ \ - iter->prev->next = iter->next; \ - if (iter->next) \ - iter->next->prev = iter->prev; \ - iter->next = ty->cast; \ - iter->prev = 0; \ - if (ty->cast) ty->cast->prev = iter; \ - ty->cast = iter; \ - return iter; \ - } \ - iter = iter->next; \ - } \ - } \ - return 0 - -/* - Check the typename -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); +/* Cast a pointer up an inheritance hierarchy */ +SWIGRUNTIME(void *) +SWIG_TypeCast(swig_type_info *ty, void *ptr) { + if ((!ty) || (!ty->converter)) return ptr; + return (*ty->converter)(ptr); } -/* Same as previous function, except strcmp is replaced with a pointer comparison */ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { - SWIG_TypeCheck_Template(iter->type == from, into); -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_cast_info *ty, void *ptr) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * +/* Dynamic pointer casting. Down an inheritance hierarchy */ +SWIGRUNTIME(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { swig_type_info *lastty = ty; if (!ty || !ty->dcast) return ty; @@ -438,251 +191,94 @@ SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { return lastty; } -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * +/* Return the name associated with this type */ +SWIGRUNTIME(const char *) SWIG_TypeName(const swig_type_info *ty) { return ty->name; } -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (!type) return NULL; - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; +/* Search for a swig_type_info structure */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeQuery(const char *name) { + swig_type_info *ty = swig_type_list; + while (ty) { + if (ty->str && (strcmp(name,ty->str) == 0)) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; } - else - return type->name; + return 0; } -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void +/* Set the clientdata field for a type */ +SWIGRUNTIME(void) SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_cast_info *cast = ti->cast; - /* if (ti->clientdata == clientdata) return; */ + swig_type_info *tc, *equiv; + if (ti->clientdata == clientdata) return; ti->clientdata = clientdata; - - while (cast) { - if (!cast->converter) { - swig_type_info *tc = cast->type; - if (!tc->clientdata) { - SWIG_TypeClientData(tc, clientdata); + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = swig_type_list; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientData(tc,clientdata); + tc = tc->prev; } - } - cast = cast->next; - } -} -SWIGRUNTIME void -SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientData(ti, clientdata); - ti->owndata = 1; -} - -/* - Search for a swig_type_info structure only by mangled name - Search is a O(log #types) - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_MangledTypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - swig_module_info *iter = start; - do { - if (iter->size) { - register size_t l = 0; - register size_t r = iter->size - 1; - do { - /* since l+r >= 0, we can (>> 1) instead (/ 2) */ - register size_t i = (l + r) >> 1; - const char *iname = iter->types[i]->name; - if (iname) { - register int compare = strcmp(name, iname); - if (compare == 0) { - return iter->types[i]; - } else if (compare < 0) { - if (i) { - r = i - 1; - } else { - break; - } - } else if (compare > 0) { - l = i + 1; - } - } else { - break; /* should never happen */ - } - } while (l <= r); } - iter = iter->next; - } while (iter != end); - return 0; -} - -/* - Search for a swig_type_info structure for either a mangled name or a human readable name. - It first searches the mangled names of the types, which is a O(log #types) - If a type is not found it then searches the human readable names, which is O(#types). - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - /* STEP 1: Search the name field using binary search */ - swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); - if (ret) { - return ret; - } else { - /* STEP 2: If the type hasn't been found, do a complete search - of the str field (the human readable name) */ - swig_module_info *iter = start; - do { - register size_t i = 0; - for (; i < iter->size; ++i) { - if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) - return iter->types[i]; - } - iter = iter->next; - } while (iter != end); + equiv = equiv->next; } - - /* neither found a match */ - return 0; } -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static const char hex[17] = "0123456789abcdef"; - register const unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register unsigned char uu = *u; +/* Pack binary data into a string */ +SWIGRUNTIME(char *) +SWIG_PackData(char *c, void *ptr, int sz) { + static char hex[17] = "0123456789abcdef"; + int i; + unsigned char *u = (unsigned char *) ptr; + register unsigned char uu; + for (i = 0; i < sz; i++,u++) { + uu = *u; *(c++) = hex[(uu & 0xf0) >> 4]; *(c++) = hex[uu & 0xf]; } return c; } -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - register unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register char d = *(c++); - register unsigned char uu; +/* Unpack binary data from a string */ +SWIGRUNTIME(char *) +SWIG_UnpackData(char *c, void *ptr, int sz) { + register unsigned char uu = 0; + register int d; + unsigned char *u = (unsigned char *) ptr; + int i; + for (i = 0; i < sz; i++, u++) { + d = *(c++); if ((d >= '0') && (d <= '9')) uu = ((d - '0') << 4); else if ((d >= 'a') && (d <= 'f')) uu = ((d - ('a'-10)) << 4); - else - return (char *) 0; d = *(c++); if ((d >= '0') && (d <= '9')) uu |= (d - '0'); else if ((d >= 'a') && (d <= 'f')) uu |= (d - ('a'-10)); - else - return (char *) 0; *u = uu; } return c; } -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} +#endif #ifdef __cplusplus } #endif -/* ----------------------------------------------------------------------------- - * See the LICENSE file for information on copyright, usage and redistribution - * of SWIG, and the README file for authors - http://www.swig.org/release.html. - * - * php4run.swg +/* + * php4.swg * * PHP4 runtime library - * ----------------------------------------------------------------------------- */ + * + */ #ifdef __cplusplus extern "C" { @@ -710,28 +306,6 @@ extern "C" { } #endif -/* But in fact SWIG_ConvertPtr is the native interface for getting typed - pointer values out of zvals. We need the TSRMLS_ macros for when we - make PHP type calls later as we handle php resources */ -#define SWIG_ConvertPtr(obj,pp,type,flags) SWIG_ZTS_ConvertPtr(obj,pp,type,flags TSRMLS_CC) - - -#define SWIG_fail goto fail - -static char *default_error_msg = "Unknown error occurred"; -static int default_error_code = E_ERROR; - -#define SWIG_PHP_Arg_Error_Msg(argnum,extramsg) "Error in argument " #argnum " "#extramsg - -#define SWIG_PHP_Error(code,msg) ErrorCode() = code; ErrorMsg() = msg; SWIG_fail; - -#define SWIG_contract_assert(expr,msg) \ - if (!(expr) ) { zend_printf("Contract Assert Failed %s\n",msg ); } else - -/* Standard SWIG API */ -#define SWIG_GetModule(clientdata) SWIG_Php4_GetModule() -#define SWIG_SetModule(clientdata, pointer) SWIG_Php4_SetModule(pointer) - /* used to wrap returned objects in so we know whether they are newobject and need freeing, or not */ typedef struct _swig_object_wrapper { @@ -739,24 +313,56 @@ typedef struct _swig_object_wrapper { int newobject; } swig_object_wrapper; +/* local scope self_constructors are set to 1 inside function wrappers + which are also class constructors, so that the php4.swg output typemaps + know whether or not to wrap returned objects in this_ptr or a new object */ +int self_constructor=0; + /* empty zend destructor for types without one */ static ZEND_RSRC_DTOR_FUNC(SWIG_landfill) {}; +/* This one makes old swig style string pointers but the php module doesn't + use these any more. This is just left here for old times sake and may go */ +SWIGRUNTIME(void) +SWIG_MakePtr(char *c, void *ptr, swig_type_info *ty) { + static char hex[17] = "0123456789abcdef"; + unsigned long p, s; + char data[32], *r; + + r = data; + p = (unsigned long) ptr; + if (p > 0) { + while (p > 0) { + s = p & 0xf; + *(r++) = hex[s]; + p = p >> 4; + } + *r = '_'; + while (r >= data) { + *(c++) = *(r--); + } + strcpy (c, ty->name); + } else { + strcpy (c, "NULL"); + } +} + +SWIGRUNTIME(void) +SWIG_SetPointerChar(char **c, void *ptr, swig_type_info *type) { + char data[512]; + + SWIG_MakePtr(data, ptr, type); + *c = estrdup(data); +} + #define SWIG_SetPointerZval(a,b,c,d) SWIG_ZTS_SetPointerZval(a,b,c,d, SWIG_module_entry TSRMLS_CC) -static void +SWIGRUNTIME(void) SWIG_ZTS_SetPointerZval(zval *z, void *ptr, swig_type_info *type, int newobject, zend_module_entry* module_entry TSRMLS_DC) { swig_object_wrapper *value=NULL; - /* - * First test for Null pointers. Return those as PHP native NULL - */ - if (!ptr ) { - ZVAL_NULL(z); - return; - } + /* No need to call SWIG_MakePtr here! */ if (type->clientdata) { - if (! (*(int *)(type->clientdata))) - zend_error(E_ERROR, "Type: %s failed to register with zend",type->name); + if (! (*(int *)(type->clientdata))) zend_error(E_ERROR, "Type: %s failed to register with zend",type->name); value=(swig_object_wrapper *)emalloc(sizeof(swig_object_wrapper)); value->ptr=ptr; value->newobject=newobject; @@ -768,6 +374,55 @@ SWIG_ZTS_SetPointerZval(zval *z, void *ptr, swig_type_info *type, int newobject, } } +/* This old-style routine converts an old string-pointer c into a real pointer + ptr calling making appropriate casting functions according to ty + We don't use this any more */ +SWIGRUNTIME(int) +SWIG_ConvertPtr_(char *c, void **ptr, swig_type_info *ty) { + register int d; + unsigned long p; + swig_type_info *tc; + + if(c == NULL) { + *ptr = 0; + return 0; + } + + p = 0; + if (*c != '_') { + *ptr = (void *) 0; + if (strcmp(c,"NULL") == 0) { + return 0; + } else { + goto type_error; + } + } + + c++; + /* Extract hex value from pointer */ + while ((d = *c)) { + if ((d >= '0') && (d <= '9')) + p = (p << 4) + (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + p = (p << 4) + (d - ('a'-10)); + else + break; + c++; + } + *ptr = (void *) p; + + if(ty) { + tc = SWIG_TypeCheck(c,ty); + if(!tc) goto type_error; + *ptr = SWIG_TypeCast(tc, (void*)p); + } + return 0; + +type_error: + + return -1; +} + /* This is a new pointer conversion routine Taking the native pointer p (which would have been converted from the old string pointer) and it's php type id, and it's type name (which also would @@ -779,9 +434,9 @@ SWIG_ZTS_SetPointerZval(zval *z, void *ptr, swig_type_info *type, int newobject, SWIG_ZTS_ConvertResourcePtr which gets the type name from the resource and the registered zend destructors for which we have one per type each with the type name hard wired in. */ -static int +SWIGRUNTIME(int) SWIG_ZTS_ConvertResourceData(void * p, int type, const char *type_name, void **ptr, swig_type_info *ty TSRMLS_DC) { - swig_cast_info *tc; + swig_type_info *tc; if (ty) { if (! type_name) { @@ -804,30 +459,32 @@ SWIG_ZTS_ConvertResourceData(void * p, int type, const char *type_name, void **p /* This function fills ptr with a pointer of type ty by extracting the pointer and type info from the resource in z. z must be a resource It uses SWIG_ZTS_ConvertResourceData to do the real work. */ -static int -SWIG_ZTS_ConvertResourcePtr(zval *z, void **ptr, swig_type_info *ty, int flags TSRMLS_DC) { +SWIGRUNTIME(int) +SWIG_ZTS_ConvertResourcePtr(zval *z, void **ptr, swig_type_info *ty TSRMLS_DC) { swig_object_wrapper *value; void *p; int type; char *type_name; value = (swig_object_wrapper *) zend_list_find(z->value.lval,&type); - if ( flags && SWIG_POINTER_DISOWN ) { - value->newobject = 0; - } p = value->ptr; if (type==-1) return -1; - type_name=zend_rsrc_list_get_rsrc_type(z->value.lval TSRMLS_CC); + type_name=zend_rsrc_list_get_rsrc_type(z->value.lval); return SWIG_ZTS_ConvertResourceData(p,type,type_name,ptr,ty TSRMLS_CC); } +/* But in fact SWIG_ConvertPtr is the native interface for getting typed + pointer values out of zvals. We need the TSRMLS_ macros for when we + make PHP type calls later as we handle php resources */ +#define SWIG_ConvertPtr(a,b,c) SWIG_ZTS_ConvertPtr(a,b,c TSRMLS_CC) + /* We allow passing of a STRING or RESOURCE pointing to the object or an OBJECT whose _cPtr is a string or resource pointing to the object STRING pointers are very depracated */ -static int -SWIG_ZTS_ConvertPtr(zval *z, void **ptr, swig_type_info *ty, int flags TSRMLS_DC) { +SWIGRUNTIME(int) +SWIG_ZTS_ConvertPtr(zval *z, void **ptr, swig_type_info *ty TSRMLS_DC) { char *c; zval *val; @@ -842,14 +499,14 @@ SWIG_ZTS_ConvertPtr(zval *z, void **ptr, swig_type_info *ty, int flags TSRMLS_DC /* Don't co-erce to string if it isn't */ if ((*_cPtr)->type==IS_STRING) c = Z_STRVAL_PP(_cPtr); else if ((*_cPtr)->type==IS_RESOURCE) { - return SWIG_ZTS_ConvertResourcePtr(*_cPtr,ptr,ty, flags TSRMLS_CC); + return SWIG_ZTS_ConvertResourcePtr(*_cPtr,ptr,ty TSRMLS_CC); } else goto type_error; /* _cPtr was not string or resource property */ } else goto type_error; /* can't find property _cPtr */ } else if (z->type==IS_RESOURCE) { - return SWIG_ZTS_ConvertResourcePtr(z,ptr,ty, flags TSRMLS_CC); - } if (z->type==IS_NULL ) { - *ptr = 0; - return 0; + return SWIG_ZTS_ConvertResourcePtr(z,ptr,ty TSRMLS_CC); + } else if (z->type==IS_STRING) { + c = Z_STRVAL_P(z); + return SWIG_ConvertPtr_(c,ptr,ty); } else goto type_error; type_error: @@ -857,43 +514,17 @@ type_error: return -1; } -static char const_name[] = "swig_runtime_data_type_pointer"; -static swig_module_info *SWIG_Php4_GetModule() { - zval *pointer; - swig_module_info *ret = 0; - - MAKE_STD_ZVAL(pointer); - - TSRMLS_FETCH(); - - if (zend_get_constant(const_name, sizeof(const_name), pointer TSRMLS_CC)) { - if (pointer->type == IS_LONG) { - ret = (swig_module_info *) pointer->value.lval; - } - } - FREE_ZVAL(pointer); - return ret; -} - -static void SWIG_Php4_SetModule(swig_module_info *pointer) { - TSRMLS_FETCH(); - REGISTER_MAIN_LONG_CONSTANT(const_name, (long) pointer, 0); -} - /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_p_switch_core_session_t swig_types[0] -#define SWIGTYPE_p_p_void swig_types[1] -#define SWIGTYPE_p_switch_channel_t swig_types[2] -#define SWIGTYPE_p_switch_core_session_t swig_types[3] -#define SWIGTYPE_p_switch_file_handle_t swig_types[4] -#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] -#define SWIGTYPE_p_uint32_t swig_types[6] +#define SWIGTYPE_p_switch_channel_t swig_types[0] +#define SWIGTYPE_p_switch_file_handle_t swig_types[1] +#define SWIGTYPE_p_switch_core_session_t swig_types[2] +#define SWIGTYPE_p_p_switch_core_session_t swig_types[3] +#define SWIGTYPE_p_void swig_types[4] +#define SWIGTYPE_p_uint32_t swig_types[5] +#define SWIGTYPE_p_switch_input_callback_function_t swig_types[6] static swig_type_info *swig_types[8]; -static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; -#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) -#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) /* -------- TYPES TABLE (END) -------- */ @@ -916,31 +547,9 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; | | +----------------------------------------------------------------------+ */ -ZEND_BEGIN_MODULE_GLOBALS(freeswitch) -char *error_msg; -int error_code; -ZEND_END_MODULE_GLOBALS(freeswitch) -ZEND_DECLARE_MODULE_GLOBALS(freeswitch) -#ifdef ZTS -#define ErrorMsg() TSRMG(freeswitch_globals_id, zend_freeswitch_globals *, error_msg ) -#define ErrorCode() TSRMG(freeswitch_globals_id, zend_freeswitch_globals *, error_code ) -#else -#define ErrorMsg() (freeswitch_globals.error_msg) -#define ErrorCode() (freeswitch_globals.error_code) -#endif +#define SWIG_init initfreeswitch -static void freeswitch_init_globals(zend_freeswitch_globals *freeswitch_globals ) { - freeswitch_globals->error_msg = default_error_msg; - freeswitch_globals->error_code = default_error_code; -} -static void freeswitch_destroy_globals(zend_freeswitch_globals *freeswitch_globals) { } - -void SWIG_ResetError() { - TSRMLS_FETCH(); - ErrorMsg() = default_error_msg; - ErrorCode() = default_error_code; -} -#define SWIG_name "freeswitch" +#define SWIG_name "freeswitch" #ifdef __cplusplus extern "C" { #endif @@ -952,6 +561,32 @@ extern "C" { } #endif +extern void fs_core_set_globals(void); +extern int fs_core_init(char *); +extern int fs_core_destroy(void); +extern int fs_loadable_module_init(void); +extern int fs_loadable_module_shutdown(void); +extern int fs_console_loop(void); +extern void fs_consol_log(char *,char *); +extern void fs_consol_clean(char *); +extern switch_core_session_t *fs_core_session_locate(char *); +extern void fs_channel_answer(switch_core_session_t *); +extern void fs_channel_pre_answer(switch_core_session_t *); +extern void fs_channel_hangup(switch_core_session_t *,char *); +extern void fs_channel_set_variable(switch_core_session_t *,char *,char *); +extern void fs_channel_get_variable(switch_core_session_t *,char *); +extern void fs_channel_set_state(switch_core_session_t *,char *); +extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t); +extern int fs_ivr_play_file2(switch_core_session_t *,char *); +extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int); +extern int fs_switch_ivr_collect_digits_count(switch_core_session_t *,char *,unsigned int,unsigned int,char const *,char *,unsigned int); +extern int fs_switch_ivr_originate(switch_core_session_t *,switch_core_session_t **,char *,uint32_t); +extern int fs_switch_ivr_session_transfer(switch_core_session_t *,char *,char *,char *); +extern int fs_switch_ivr_speak_text(switch_core_session_t *,char *,char *,char *,uint32_t,switch_input_callback_function_t,char *,void *,unsigned int); +extern char *fs_switch_channel_get_variable(switch_channel_t *,char *); +extern int fs_switch_channel_set_variable(switch_channel_t *,char *,char *); #include "switch.h" @@ -961,33 +596,59 @@ extern "C" { /* entry subsection */ /* Every non-class user visible function must have an entry here */ function_entry freeswitch_functions[] = { - ZEND_NAMED_FE(fs_core_set_globals,_wrap_fs_core_set_globals, NULL) - ZEND_NAMED_FE(fs_core_init,_wrap_fs_core_init, NULL) - ZEND_NAMED_FE(fs_core_destroy,_wrap_fs_core_destroy, NULL) - ZEND_NAMED_FE(fs_loadable_module_init,_wrap_fs_loadable_module_init, NULL) - ZEND_NAMED_FE(fs_loadable_module_shutdown,_wrap_fs_loadable_module_shutdown, NULL) - ZEND_NAMED_FE(fs_console_loop,_wrap_fs_console_loop, NULL) - ZEND_NAMED_FE(fs_consol_log,_wrap_fs_consol_log, NULL) - ZEND_NAMED_FE(fs_consol_clean,_wrap_fs_consol_clean, NULL) - ZEND_NAMED_FE(fs_core_session_locate,_wrap_fs_core_session_locate, NULL) - ZEND_NAMED_FE(fs_channel_answer,_wrap_fs_channel_answer, NULL) - ZEND_NAMED_FE(fs_channel_pre_answer,_wrap_fs_channel_pre_answer, NULL) - ZEND_NAMED_FE(fs_channel_hangup,_wrap_fs_channel_hangup, NULL) - ZEND_NAMED_FE(fs_channel_set_variable,_wrap_fs_channel_set_variable, NULL) - ZEND_NAMED_FE(fs_channel_get_variable,_wrap_fs_channel_get_variable, NULL) - ZEND_NAMED_FE(fs_channel_set_state,_wrap_fs_channel_set_state, NULL) - ZEND_NAMED_FE(fs_ivr_play_file,_wrap_fs_ivr_play_file, NULL) - ZEND_NAMED_FE(fs_switch_ivr_record_file,_wrap_fs_switch_ivr_record_file, NULL) - ZEND_NAMED_FE(fs_switch_ivr_sleep,_wrap_fs_switch_ivr_sleep, NULL) - ZEND_NAMED_FE(fs_ivr_play_file2,_wrap_fs_ivr_play_file2, NULL) - ZEND_NAMED_FE(fs_switch_ivr_collect_digits_callback,_wrap_fs_switch_ivr_collect_digits_callback, NULL) - ZEND_NAMED_FE(fs_switch_ivr_collect_digits_count,_wrap_fs_switch_ivr_collect_digits_count, NULL) - ZEND_NAMED_FE(fs_switch_ivr_originate,_wrap_fs_switch_ivr_originate, NULL) - ZEND_NAMED_FE(fs_switch_ivr_session_transfer,_wrap_fs_switch_ivr_session_transfer, NULL) - ZEND_NAMED_FE(fs_switch_ivr_speak_text,_wrap_fs_switch_ivr_speak_text, NULL) - ZEND_NAMED_FE(fs_switch_channel_get_variable,_wrap_fs_switch_channel_get_variable, NULL) - ZEND_NAMED_FE(fs_switch_channel_set_variable,_wrap_fs_switch_channel_set_variable, NULL) - {NULL, NULL, NULL} + ZEND_NAMED_FE(fs_core_set_globals, + _wrap_fs_core_set_globals, NULL) + ZEND_NAMED_FE(fs_core_init, + _wrap_fs_core_init, NULL) + ZEND_NAMED_FE(fs_core_destroy, + _wrap_fs_core_destroy, NULL) + ZEND_NAMED_FE(fs_loadable_module_init, + _wrap_fs_loadable_module_init, NULL) + ZEND_NAMED_FE(fs_loadable_module_shutdown, + _wrap_fs_loadable_module_shutdown, NULL) + ZEND_NAMED_FE(fs_console_loop, + _wrap_fs_console_loop, NULL) + ZEND_NAMED_FE(fs_consol_log, + _wrap_fs_consol_log, NULL) + ZEND_NAMED_FE(fs_consol_clean, + _wrap_fs_consol_clean, NULL) + ZEND_NAMED_FE(fs_core_session_locate, + _wrap_fs_core_session_locate, NULL) + ZEND_NAMED_FE(fs_channel_answer, + _wrap_fs_channel_answer, NULL) + ZEND_NAMED_FE(fs_channel_pre_answer, + _wrap_fs_channel_pre_answer, NULL) + ZEND_NAMED_FE(fs_channel_hangup, + _wrap_fs_channel_hangup, NULL) + ZEND_NAMED_FE(fs_channel_set_variable, + _wrap_fs_channel_set_variable, NULL) + ZEND_NAMED_FE(fs_channel_get_variable, + _wrap_fs_channel_get_variable, NULL) + ZEND_NAMED_FE(fs_channel_set_state, + _wrap_fs_channel_set_state, NULL) + ZEND_NAMED_FE(fs_ivr_play_file, + _wrap_fs_ivr_play_file, NULL) + ZEND_NAMED_FE(fs_switch_ivr_record_file, + _wrap_fs_switch_ivr_record_file, NULL) + ZEND_NAMED_FE(fs_switch_ivr_sleep, + _wrap_fs_switch_ivr_sleep, NULL) + ZEND_NAMED_FE(fs_ivr_play_file2, + _wrap_fs_ivr_play_file2, NULL) + ZEND_NAMED_FE(fs_switch_ivr_collect_digits_callback, + _wrap_fs_switch_ivr_collect_digits_callback, NULL) + ZEND_NAMED_FE(fs_switch_ivr_collect_digits_count, + _wrap_fs_switch_ivr_collect_digits_count, NULL) + ZEND_NAMED_FE(fs_switch_ivr_originate, + _wrap_fs_switch_ivr_originate, NULL) + ZEND_NAMED_FE(fs_switch_ivr_session_transfer, + _wrap_fs_switch_ivr_session_transfer, NULL) + ZEND_NAMED_FE(fs_switch_ivr_speak_text, + _wrap_fs_switch_ivr_speak_text, NULL) + ZEND_NAMED_FE(fs_switch_channel_get_variable, + _wrap_fs_switch_channel_get_variable, NULL) + ZEND_NAMED_FE(fs_switch_channel_set_variable, + _wrap_fs_switch_channel_set_variable, NULL) + {NULL, NULL, NULL} }; zend_module_entry freeswitch_module_entry = { @@ -1011,1025 +672,971 @@ zend_module_entry* SWIG_module_entry = &freeswitch_module_entry; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ -static swig_type_info _swigt__p_p_switch_core_session_t = {"_p_p_switch_core_session_t", "switch_core_session_t **", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_p_void = {"_p_p_void", "void **", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_core_session_t = {"_p_switch_core_session_t", "switch_core_session_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_file_handle_t = {"_p_switch_file_handle_t", "switch_file_handle_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_input_callback_function_t = {"_p_switch_input_callback_function_t", "switch_input_callback_function_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_uint32_t = {"_p_uint32_t", "uint32_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_channel_t[] = {{"_p_switch_channel_t", 0, "switch_channel_t *", 0},{"_p_switch_channel_t"},{0}}; +static swig_type_info _swigt__p_switch_file_handle_t[] = {{"_p_switch_file_handle_t", 0, "switch_file_handle_t *", 0},{"_p_switch_file_handle_t"},{0}}; +static swig_type_info _swigt__p_switch_core_session_t[] = {{"_p_switch_core_session_t", 0, "switch_core_session_t *", 0},{"_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_p_switch_core_session_t[] = {{"_p_p_switch_core_session_t", 0, "switch_core_session_t **", 0},{"_p_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_void[] = {{"_p_void", 0, "void *", 0},{"_p_void"},{0}}; +static swig_type_info _swigt__p_uint32_t[] = {{"_p_uint32_t", 0, "uint32_t *", 0},{"_p_uint32_t"},{0}}; +static swig_type_info _swigt__p_switch_input_callback_function_t[] = {{"_p_switch_input_callback_function_t", 0, "switch_input_callback_function_t *", 0},{"_p_switch_input_callback_function_t"},{0}}; -static swig_type_info *swig_type_initial[] = { - &_swigt__p_p_switch_core_session_t, - &_swigt__p_p_void, - &_swigt__p_switch_channel_t, - &_swigt__p_switch_core_session_t, - &_swigt__p_switch_file_handle_t, - &_swigt__p_switch_input_callback_function_t, - &_swigt__p_uint32_t, -}; - -static swig_cast_info _swigc__p_p_switch_core_session_t[] = { {&_swigt__p_p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_p_void[] = { {&_swigt__p_p_void, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_channel_t[] = { {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_core_session_t[] = { {&_swigt__p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_file_handle_t[] = { {&_swigt__p_switch_file_handle_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_input_callback_function_t[] = { {&_swigt__p_switch_input_callback_function_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_uint32_t[] = { {&_swigt__p_uint32_t, 0, 0, 0},{0, 0, 0, 0}}; - -static swig_cast_info *swig_cast_initial[] = { - _swigc__p_p_switch_core_session_t, - _swigc__p_p_void, - _swigc__p_switch_channel_t, - _swigc__p_switch_core_session_t, - _swigc__p_switch_file_handle_t, - _swigc__p_switch_input_callback_function_t, - _swigc__p_uint32_t, +static swig_type_info *swig_types_initial[] = { +_swigt__p_switch_channel_t, +_swigt__p_switch_file_handle_t, +_swigt__p_switch_core_session_t, +_swigt__p_p_switch_core_session_t, +_swigt__p_void, +_swigt__p_uint32_t, +_swigt__p_switch_input_callback_function_t, +0 }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ -/* end header section */ /* vdecl subsection */ static int le_swig__p_switch_channel_t=0; /* handle for */ static int le_swig__p_switch_file_handle_t=0; /* handle for */ static int le_swig__p_switch_core_session_t=0; /* handle for */ static int le_swig__p_p_switch_core_session_t=0; /* handle for */ -static int le_swig__p_p_void=0; /* handle for */ +static int le_swig__p_void=0; /* handle for */ static int le_swig__p_uint32_t=0; /* handle for */ static int le_swig__p_switch_input_callback_function_t=0; /* handle for */ /* end vdecl subsection */ /* wrapper section */ ZEND_NAMED_FUNCTION(_wrap_fs_core_set_globals) { - zval **args[0]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 0) || (zend_get_parameters_array_ex(0, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - fs_core_set_globals(); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + zval **args[1]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 0) || (zend_get_parameters_array_ex(0-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + fs_core_set_globals(); + + } ZEND_NAMED_FUNCTION(_wrap_fs_core_init) { - char *arg1 = (char *) 0 ; - int result; - zval **args[1]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 1) || (zend_get_parameters_array_ex(1, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[0]); - arg1 = (char *) Z_STRVAL_PP(args[0]); - /*@SWIG@*/; - } - result = (int)fs_core_init(arg1); - { + char *arg1 ; + int result; + zval **args[2]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 1) || (zend_get_parameters_array_ex(1-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + convert_to_string_ex(((0type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 0) || (zend_get_parameters_array_ex(0-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + result = (int)fs_core_destroy(); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_loadable_module_init) { - int result; - zval **args[0]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 0) || (zend_get_parameters_array_ex(0, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - result = (int)fs_loadable_module_init(); - { + int result; + zval **args[1]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 0) || (zend_get_parameters_array_ex(0-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + result = (int)fs_loadable_module_init(); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_loadable_module_shutdown) { - int result; - zval **args[0]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 0) || (zend_get_parameters_array_ex(0, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - result = (int)fs_loadable_module_shutdown(); - { + int result; + zval **args[1]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 0) || (zend_get_parameters_array_ex(0-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + result = (int)fs_loadable_module_shutdown(); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_console_loop) { - int result; - zval **args[0]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 0) || (zend_get_parameters_array_ex(0, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - result = (int)fs_console_loop(); - { + int result; + zval **args[1]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 0) || (zend_get_parameters_array_ex(0-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + result = (int)fs_console_loop(); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_consol_log) { - char *arg1 = (char *) 0 ; - char *arg2 = (char *) 0 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[0]); - arg1 = (char *) Z_STRVAL_PP(args[0]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - fs_consol_log(arg1,arg2); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + char *arg1 ; + char *arg2 ; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + convert_to_string_ex(((0type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 1) || (zend_get_parameters_array_ex(1-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + convert_to_string_ex(((0type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; + } + if(((ZEND_NUM_ARGS() + argbase )!= 1) || (zend_get_parameters_array_ex(1-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + convert_to_string_ex(((0type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - fs_channel_answer(arg1); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 1) || (zend_get_parameters_array_ex(1-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + fs_channel_answer(arg1); + + } ZEND_NAMED_FUNCTION(_wrap_fs_channel_pre_answer) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - zval **args[1]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 1) || (zend_get_parameters_array_ex(1, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_channel_pre_answer. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + zval **args[2]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - fs_channel_pre_answer(arg1); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 1) || (zend_get_parameters_array_ex(1-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + fs_channel_pre_answer(arg1); + + } ZEND_NAMED_FUNCTION(_wrap_fs_channel_hangup) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_channel_hangup. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - fs_channel_hangup(arg1,arg2); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + fs_channel_hangup(arg1,arg2); + + } ZEND_NAMED_FUNCTION(_wrap_fs_channel_set_variable) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - zval **args[3]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 3) || (zend_get_parameters_array_ex(3, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_channel_set_variable. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + zval **args[4]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - fs_channel_set_variable(arg1,arg2,arg3); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 3) || (zend_get_parameters_array_ex(3-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + fs_channel_set_variable(arg1,arg2,arg3); + + } ZEND_NAMED_FUNCTION(_wrap_fs_channel_get_variable) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_channel_get_variable. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - fs_channel_get_variable(arg1,arg2); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + fs_channel_get_variable(arg1,arg2); + + } ZEND_NAMED_FUNCTION(_wrap_fs_channel_set_state) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_channel_set_state. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - fs_channel_set_state(arg1,arg2); - - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + fs_channel_set_state(arg1,arg2); + + } ZEND_NAMED_FUNCTION(_wrap_fs_ivr_play_file) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - switch_input_callback_function_t *tmp4 ; - zval **args[6]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 6) || (zend_get_parameters_array_ex(6, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_ivr_play_file. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + zval **args[7]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - { - if(SWIG_ConvertPtr(*args[3], (void **) &tmp4, SWIGTYPE_p_switch_input_callback_function_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 4 of fs_ivr_play_file. Expected SWIGTYPE_p_switch_input_callback_function_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 6) || (zend_get_parameters_array_ex(6-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - arg4 = *tmp4; - } - { - if(SWIG_ConvertPtr(*args[4], (void **) &arg5, 0, 0) < 0) { - /* Allow NULL from php for void* */ - if ((*args[4])->type==IS_NULL) arg5=0; - else - SWIG_PHP_Error(E_ERROR, "Type error in argument 5 of fs_ivr_play_file. Expected SWIGTYPE_p_p_void"); + + + if(SWIG_ConvertPtr(*((0name); } - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[5]); - arg6 = (unsigned int) Z_LVAL_PP(args[5]); - /*@SWIG@*/; - } - result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); - { + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + { + switch_input_callback_function_t * argp; + if(SWIG_ConvertPtr(*args[3-argbase], (void **) &argp, SWIGTYPE_p_switch_input_callback_function_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_ivr_play_file. Expected %s", 4-argbase, SWIGTYPE_p_switch_input_callback_function_t->name); + } + arg4 = *argp; + } + + if(SWIG_ConvertPtr(*args[4-argbase], (void **) &arg5, 0) < 0) { + /* Allow NULL from php for void* */ + if ((*args[4-argbase])->type==IS_NULL) arg5=0; + else zend_error(E_ERROR, "Type error in argument %d of fs_ivr_play_file. Expected %s", 5-argbase, SWIGTYPE_p_void->name); + } + + + convert_to_long_ex(args[5-argbase]); + arg6 = (unsigned int) Z_LVAL_PP(args[5-argbase]); + + result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_record_file) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - switch_input_callback_function_t *tmp4 ; - zval **args[6]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 6) || (zend_get_parameters_array_ex(6, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_record_file. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + zval **args[7]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[1], (void **) &arg2, SWIGTYPE_p_switch_file_handle_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 2 of fs_switch_ivr_record_file. Expected SWIGTYPE_p_switch_file_handle_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 6) || (zend_get_parameters_array_ex(6-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - { - if(SWIG_ConvertPtr(*args[3], (void **) &tmp4, SWIGTYPE_p_switch_input_callback_function_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 4 of fs_switch_ivr_record_file. Expected SWIGTYPE_p_switch_input_callback_function_t"); + + + if(SWIG_ConvertPtr(*((0name); } - arg4 = *tmp4; - } - { - if(SWIG_ConvertPtr(*args[4], (void **) &arg5, 0, 0) < 0) { - /* Allow NULL from php for void* */ - if ((*args[4])->type==IS_NULL) arg5=0; - else - SWIG_PHP_Error(E_ERROR, "Type error in argument 5 of fs_switch_ivr_record_file. Expected SWIGTYPE_p_p_void"); + + + if(SWIG_ConvertPtr(*args[1-argbase], (void **) &arg2, SWIGTYPE_p_switch_file_handle_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_record_file. Expected %s", 2-argbase, SWIGTYPE_p_switch_file_handle_t->name); } - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[5]); - arg6 = (unsigned int) Z_LVAL_PP(args[5]); - /*@SWIG@*/; - } - result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); - { + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + { + switch_input_callback_function_t * argp; + if(SWIG_ConvertPtr(*args[3-argbase], (void **) &argp, SWIGTYPE_p_switch_input_callback_function_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_record_file. Expected %s", 4-argbase, SWIGTYPE_p_switch_input_callback_function_t->name); + } + arg4 = *argp; + } + + if(SWIG_ConvertPtr(*args[4-argbase], (void **) &arg5, 0) < 0) { + /* Allow NULL from php for void* */ + if ((*args[4-argbase])->type==IS_NULL) arg5=0; + else zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_record_file. Expected %s", 5-argbase, SWIGTYPE_p_void->name); + } + + + convert_to_long_ex(args[5-argbase]); + arg6 = (unsigned int) Z_LVAL_PP(args[5-argbase]); + + result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_sleep) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - uint32_t arg2 ; - int result; - uint32_t *tmp2 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_sleep. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + uint32_t arg2 ; + int result; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - if(SWIG_ConvertPtr(*args[1], (void **) &tmp2, SWIGTYPE_p_uint32_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 2 of fs_switch_ivr_sleep. Expected SWIGTYPE_p_uint32_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - arg2 = *tmp2; - } - result = (int)fs_switch_ivr_sleep(arg1,arg2); - { + + + if(SWIG_ConvertPtr(*((0name); + } + + { + uint32_t * argp; + if(SWIG_ConvertPtr(*args[1-argbase], (void **) &argp, SWIGTYPE_p_uint32_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_sleep. Expected %s", 2-argbase, SWIGTYPE_p_uint32_t->name); + } + arg2 = *argp; + } + result = (int)fs_switch_ivr_sleep(arg1,arg2); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_ivr_play_file2) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - int result; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_ivr_play_file2. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int result; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - result = (int)fs_ivr_play_file2(arg1,arg2); - { + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + result = (int)fs_ivr_play_file2(arg1,arg2); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_collect_digits_callback) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_input_callback_function_t arg2 ; - void *arg3 = (void *) 0 ; - unsigned int arg4 ; - int result; - switch_input_callback_function_t *tmp2 ; - zval **args[4]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 4) || (zend_get_parameters_array_ex(4, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_collect_digits_callback. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_input_callback_function_t arg2 ; + void *arg3 = (void *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + int result; + zval **args[6]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - if(SWIG_ConvertPtr(*args[1], (void **) &tmp2, SWIGTYPE_p_switch_input_callback_function_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 2 of fs_switch_ivr_collect_digits_callback. Expected SWIGTYPE_p_switch_input_callback_function_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 5) || (zend_get_parameters_array_ex(5-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - arg2 = *tmp2; - } - { - if(SWIG_ConvertPtr(*args[2], (void **) &arg3, 0, 0) < 0) { - /* Allow NULL from php for void* */ - if ((*args[2])->type==IS_NULL) arg3=0; - else - SWIG_PHP_Error(E_ERROR, "Type error in argument 3 of fs_switch_ivr_collect_digits_callback. Expected SWIGTYPE_p_p_void"); + + + if(SWIG_ConvertPtr(*((0name); } - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[3]); - arg4 = (unsigned int) Z_LVAL_PP(args[3]); - /*@SWIG@*/; - } - result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4); - { + + { + switch_input_callback_function_t * argp; + if(SWIG_ConvertPtr(*args[1-argbase], (void **) &argp, SWIGTYPE_p_switch_input_callback_function_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_collect_digits_callback. Expected %s", 2-argbase, SWIGTYPE_p_switch_input_callback_function_t->name); + } + arg2 = *argp; + } + + if(SWIG_ConvertPtr(*args[2-argbase], (void **) &arg3, 0) < 0) { + /* Allow NULL from php for void* */ + if ((*args[2-argbase])->type==IS_NULL) arg3=0; + else zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_collect_digits_callback. Expected %s", 3-argbase, SWIGTYPE_p_void->name); + } + + + convert_to_long_ex(args[3-argbase]); + arg4 = (unsigned int) Z_LVAL_PP(args[3-argbase]); + + + convert_to_long_ex(args[4-argbase]); + arg5 = (unsigned int) Z_LVAL_PP(args[4-argbase]); + + result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4,arg5); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_collect_digits_count) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - unsigned int arg3 ; - unsigned int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - unsigned int arg7 ; - int result; - zval **args[7]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 7) || (zend_get_parameters_array_ex(7, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_collect_digits_count. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + unsigned int arg3 ; + unsigned int arg4 ; + char *arg5 ; + char *arg6 ; + unsigned int arg7 ; + int result; + zval **args[8]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[2]); - arg3 = (unsigned int) Z_LVAL_PP(args[2]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[3]); - arg4 = (unsigned int) Z_LVAL_PP(args[3]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[4]); - arg5 = (char *) Z_STRVAL_PP(args[4]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[5]); - arg6 = (char *) Z_STRVAL_PP(args[5]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[6]); - arg7 = (unsigned int) Z_LVAL_PP(args[6]); - /*@SWIG@*/; - } - result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); - { + if(((ZEND_NUM_ARGS() + argbase )!= 7) || (zend_get_parameters_array_ex(7-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_long_ex(args[2-argbase]); + arg3 = (unsigned int) Z_LVAL_PP(args[2-argbase]); + + + convert_to_long_ex(args[3-argbase]); + arg4 = (unsigned int) Z_LVAL_PP(args[3-argbase]); + + + convert_to_string_ex(args[4-argbase]); + arg5 = (char *) Z_STRVAL_PP(args[4-argbase]); + + + convert_to_string_ex(args[5-argbase]); + arg6 = (char *) Z_STRVAL_PP(args[5-argbase]); + + + convert_to_long_ex(args[6-argbase]); + arg7 = (unsigned int) Z_LVAL_PP(args[6-argbase]); + + result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_originate) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; - char *arg3 = (char *) 0 ; - uint32_t arg4 ; - int result; - uint32_t *tmp4 ; - zval **args[4]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 4) || (zend_get_parameters_array_ex(4, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_originate. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; + char *arg3 ; + uint32_t arg4 ; + int result; + zval **args[5]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[1], (void **) &arg2, SWIGTYPE_p_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 2 of fs_switch_ivr_originate. Expected SWIGTYPE_p_p_switch_core_session_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 4) || (zend_get_parameters_array_ex(4-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - { - if(SWIG_ConvertPtr(*args[3], (void **) &tmp4, SWIGTYPE_p_uint32_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 4 of fs_switch_ivr_originate. Expected SWIGTYPE_p_uint32_t"); + + + if(SWIG_ConvertPtr(*((0name); } - arg4 = *tmp4; - } - result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); - { + + + if(SWIG_ConvertPtr(*args[1-argbase], (void **) &arg2, SWIGTYPE_p_p_switch_core_session_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_originate. Expected %s", 2-argbase, SWIGTYPE_p_p_switch_core_session_t->name); + } + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + { + uint32_t * argp; + if(SWIG_ConvertPtr(*args[3-argbase], (void **) &argp, SWIGTYPE_p_uint32_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_originate. Expected %s", 4-argbase, SWIGTYPE_p_uint32_t->name); + } + arg4 = *argp; + } + result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_session_transfer) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - int result; - zval **args[4]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 4) || (zend_get_parameters_array_ex(4, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_session_transfer. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + int result; + zval **args[5]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[3]); - arg4 = (char *) Z_STRVAL_PP(args[3]); - /*@SWIG@*/; - } - result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); - { + if(((ZEND_NUM_ARGS() + argbase )!= 4) || (zend_get_parameters_array_ex(4-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + + convert_to_string_ex(args[3-argbase]); + arg4 = (char *) Z_STRVAL_PP(args[3-argbase]); + + result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_ivr_speak_text) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - uint32_t arg5 ; - switch_input_callback_function_t arg6 ; - char *arg7 = (char *) 0 ; - void *arg8 = (void *) 0 ; - unsigned int arg9 ; - int result; - uint32_t *tmp5 ; - switch_input_callback_function_t *tmp6 ; - zval **args[9]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 9) || (zend_get_parameters_array_ex(9, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_ivr_speak_text. Expected SWIGTYPE_p_switch_core_session_t"); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + uint32_t arg5 ; + switch_input_callback_function_t arg6 ; + char *arg7 ; + void *arg8 = (void *) 0 ; + unsigned int arg9 ; + int result; + zval **args[10]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[3]); - arg4 = (char *) Z_STRVAL_PP(args[3]); - /*@SWIG@*/; - } - { - if(SWIG_ConvertPtr(*args[4], (void **) &tmp5, SWIGTYPE_p_uint32_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 5 of fs_switch_ivr_speak_text. Expected SWIGTYPE_p_uint32_t"); + if(((ZEND_NUM_ARGS() + argbase )!= 9) || (zend_get_parameters_array_ex(9-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - arg5 = *tmp5; - } - { - if(SWIG_ConvertPtr(*args[5], (void **) &tmp6, SWIGTYPE_p_switch_input_callback_function_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 6 of fs_switch_ivr_speak_text. Expected SWIGTYPE_p_switch_input_callback_function_t"); + + + if(SWIG_ConvertPtr(*((0name); } - arg6 = *tmp6; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[6]); - arg7 = (char *) Z_STRVAL_PP(args[6]); - /*@SWIG@*/; - } - { - if(SWIG_ConvertPtr(*args[7], (void **) &arg8, 0, 0) < 0) { - /* Allow NULL from php for void* */ - if ((*args[7])->type==IS_NULL) arg8=0; - else - SWIG_PHP_Error(E_ERROR, "Type error in argument 8 of fs_switch_ivr_speak_text. Expected SWIGTYPE_p_p_void"); + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + + convert_to_string_ex(args[3-argbase]); + arg4 = (char *) Z_STRVAL_PP(args[3-argbase]); + + { + uint32_t * argp; + if(SWIG_ConvertPtr(*args[4-argbase], (void **) &argp, SWIGTYPE_p_uint32_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_speak_text. Expected %s", 5-argbase, SWIGTYPE_p_uint32_t->name); + } + arg5 = *argp; } - } - { - /*@SWIG:CONVERT_INT_IN@*/ - convert_to_long_ex(args[8]); - arg9 = (unsigned int) Z_LVAL_PP(args[8]); - /*@SWIG@*/; - } - result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); - { + { + switch_input_callback_function_t * argp; + if(SWIG_ConvertPtr(*args[5-argbase], (void **) &argp, SWIGTYPE_p_switch_input_callback_function_t) < 0) { + zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_speak_text. Expected %s", 6-argbase, SWIGTYPE_p_switch_input_callback_function_t->name); + } + arg6 = *argp; + } + + convert_to_string_ex(args[6-argbase]); + arg7 = (char *) Z_STRVAL_PP(args[6-argbase]); + + + if(SWIG_ConvertPtr(*args[7-argbase], (void **) &arg8, 0) < 0) { + /* Allow NULL from php for void* */ + if ((*args[7-argbase])->type==IS_NULL) arg8=0; + else zend_error(E_ERROR, "Type error in argument %d of fs_switch_ivr_speak_text. Expected %s", 8-argbase, SWIGTYPE_p_void->name); + } + + + convert_to_long_ex(args[8-argbase]); + arg9 = (unsigned int) Z_LVAL_PP(args[8-argbase]); + + result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_channel_get_variable) { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *result = 0 ; - zval **args[2]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 2) || (zend_get_parameters_array_ex(2, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_channel_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_channel_get_variable. Expected SWIGTYPE_p_switch_channel_t"); + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *result; + zval **args[3]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - result = (char *)fs_switch_channel_get_variable(arg1,arg2); - { - if(!result) { - ZVAL_NULL(return_value); - } else { - ZVAL_STRING(return_value,result, 1); + if(((ZEND_NUM_ARGS() + argbase )!= 2) || (zend_get_parameters_array_ex(2-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; } - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + result = (char *)fs_switch_channel_get_variable(arg1,arg2); + + + ZVAL_STRING(return_value,result, 1); + } ZEND_NAMED_FUNCTION(_wrap_fs_switch_channel_set_variable) { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - int result; - zval **args[3]; - - SWIG_ResetError(); - if(((ZEND_NUM_ARGS() )!= 3) || (zend_get_parameters_array_ex(3, args)!= SUCCESS)) { - WRONG_PARAM_COUNT; - } - - { - /* typemap(in) SWIGTYPE * */ - if(SWIG_ConvertPtr(*args[0], (void **) &arg1, SWIGTYPE_p_switch_channel_t, 0) < 0) { - SWIG_PHP_Error(E_ERROR, "Type error in argument 1 of fs_switch_channel_set_variable. Expected SWIGTYPE_p_switch_channel_t"); + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *arg3 ; + int result; + zval **args[4]; + int argbase=0 ; + + if (this_ptr && this_ptr->type==IS_OBJECT) { + /* fake this_ptr as first arg (till we can work out how to do it better */ + argbase++; } - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[1]); - arg2 = (char *) Z_STRVAL_PP(args[1]); - /*@SWIG@*/; - } - { - /*@SWIG:CONVERT_STRING_IN@*/ - convert_to_string_ex(args[2]); - arg3 = (char *) Z_STRVAL_PP(args[2]); - /*@SWIG@*/; - } - result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); - { + if(((ZEND_NUM_ARGS() + argbase )!= 3) || (zend_get_parameters_array_ex(3-argbase, args)!= SUCCESS)) { + WRONG_PARAM_COUNT; + } + + + if(SWIG_ConvertPtr(*((0name); + } + + + convert_to_string_ex(args[1-argbase]); + arg2 = (char *) Z_STRVAL_PP(args[1-argbase]); + + + convert_to_string_ex(args[2-argbase]); + arg3 = (char *) Z_STRVAL_PP(args[2-argbase]); + + result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); + + ZVAL_LONG(return_value,result); - } - return; -fail: - zend_error(ErrorCode(),ErrorMsg()); + } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_switch_channel_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_switch_file_handle_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_switch_core_session_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_p_switch_core_session_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ -static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_p_void) { - /* bah! No destructor for this simple type!! */ +static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_void) { +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_uint32_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } /* NEW Destructor style */ static ZEND_RSRC_DTOR_FUNC(_wrap_destroy_p_switch_input_callback_function_t) { - /* bah! No destructor for this simple type!! */ +/* bah! No destructor for this simple type!! */ } + + + + /* end wrapper section */ /* init section */ #ifdef __cplusplus @@ -2040,224 +1647,17 @@ ZEND_GET_MODULE(freeswitch) } #endif -#define SWIG_php_minit PHP_MINIT_FUNCTION(freeswitch) -/* ----------------------------------------------------------------------------- - * Type initialization: - * This problem is tough by the requirement that no dynamic - * memory is used. Also, since swig_type_info structures store pointers to - * swig_cast_info structures and swig_cast_info structures store pointers back - * to swig_type_info structures, we need some lookup code at initialization. - * The idea is that swig generates all the structures that are needed. - * The runtime then collects these partially filled structures. - * The SWIG_InitializeModule function takes these initial arrays out of - * swig_module, and does all the lookup, filling in the swig_module.types - * array with the correct data and linking the correct swig_cast_info - * structures together. - * - * The generated swig_type_info structures are assigned staticly to an initial - * array. We just loop though that array, and handle each type individually. - * First we lookup if this type has been already loaded, and if so, use the - * loaded structure instead of the generated one. Then we have to fill in the - * cast linked list. The cast data is initially stored in something like a - * two-dimensional array. Each row corresponds to a type (there are the same - * number of rows as there are in the swig_type_initial array). Each entry in - * a column is one of the swig_cast_info structures for that type. - * The cast_initial array is actually an array of arrays, because each row has - * a variable number of columns. So to actually build the cast linked list, - * we find the array of casts associated with the type, and loop through it - * adding the casts to the list. The one last trick we need to do is making - * sure the type pointer in the swig_cast_info struct is correct. - * - * First off, we lookup the cast->type name to see if it is already loaded. - * There are three cases to handle: - * 1) If the cast->type has already been loaded AND the type we are adding - * casting info to has not been loaded (it is in this module), THEN we - * replace the cast->type pointer with the type pointer that has already - * been loaded. - * 2) If BOTH types (the one we are adding casting info to, and the - * cast->type) are loaded, THEN the cast info has already been loaded by - * the previous module so we just ignore it. - * 3) Finally, if cast->type has not already been loaded, then we add that - * swig_cast_info to the linked list (because the cast->type) pointer will - * be correct. - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* c-mode */ -#endif -#endif - -#if 0 -#define SWIGRUNTIME_DEBUG -#endif - -SWIGRUNTIME void -SWIG_InitializeModule(void *clientdata) { - size_t i; - swig_module_info *module_head; - static int init_run = 0; - - clientdata = clientdata; - - if (init_run) return; - init_run = 1; - - /* Initialize the swig_module */ - swig_module.type_initial = swig_type_initial; - swig_module.cast_initial = swig_cast_initial; - - /* Try and load any already created modules */ - module_head = SWIG_GetModule(clientdata); - if (module_head) { - swig_module.next = module_head->next; - module_head->next = &swig_module; - } else { - /* This is the first module loaded */ - swig_module.next = &swig_module; - SWIG_SetModule(clientdata, &swig_module); - } - - /* Now work on filling in swig_module.types */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: size %d\n", swig_module.size); -#endif - for (i = 0; i < swig_module.size; ++i) { - swig_type_info *type = 0; - swig_type_info *ret; - swig_cast_info *cast; - -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); -#endif - - /* if there is another module already loaded */ - if (swig_module.next != &swig_module) { - type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); - } - if (type) { - /* Overwrite clientdata field */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found type %s\n", type->name); -#endif - if (swig_module.type_initial[i]->clientdata) { - type->clientdata = swig_module.type_initial[i]->clientdata; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); -#endif - } - } else { - type = swig_module.type_initial[i]; - } - - /* Insert casting types */ - cast = swig_module.cast_initial[i]; - while (cast->type) { - - /* Don't need to add information already in the list */ - ret = 0; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); -#endif - if (swig_module.next != &swig_module) { - ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); -#ifdef SWIGRUNTIME_DEBUG - if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); -#endif - } - if (ret) { - if (type == swig_module.type_initial[i]) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: skip old type %s\n", ret->name); -#endif - cast->type = ret; - ret = 0; - } else { - /* Check for casting already in the list */ - swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); -#ifdef SWIGRUNTIME_DEBUG - if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); -#endif - if (!ocast) ret = 0; - } - } - - if (!ret) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); -#endif - if (type->cast) { - type->cast->prev = cast; - cast->next = type->cast; - } - type->cast = cast; - } - cast++; - } - /* Set entry in modules->types array equal to the type */ - swig_module.types[i] = type; - } - swig_module.types[i] = 0; - -#ifdef SWIGRUNTIME_DEBUG - printf("**** SWIG_InitializeModule: Cast List ******\n"); - for (i = 0; i < swig_module.size; ++i) { - int j = 0; - swig_cast_info *cast = swig_module.cast_initial[i]; - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); - while (cast->type) { - printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); - cast++; - ++j; - } - printf("---- Total casts: %d\n",j); - } - printf("**** SWIG_InitializeModule: Cast List ******\n"); -#endif +PHP_MSHUTDOWN_FUNCTION(freeswitch) +{ + return SUCCESS; } - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientData(void) { - size_t i; - swig_cast_info *equiv; - static int init_run = 0; - - if (init_run) return; - init_run = 1; - - for (i = 0; i < swig_module.size; i++) { - if (swig_module.types[i]->clientdata) { - equiv = swig_module.types[i]->cast; - while (equiv) { - if (!equiv->converter) { - if (equiv->type && !equiv->type->clientdata) - SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); - } - equiv = equiv->next; - } +PHP_MINIT_FUNCTION(freeswitch) +{ + int i; + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); } - } -} - -#ifdef __cplusplus -#if 0 -{ /* c-mode */ -#endif -} -#endif - - - SWIG_php_minit { - SWIG_InitializeModule(0); - /* oinit subsection */ -ZEND_INIT_MODULE_GLOBALS(freeswitch, freeswitch_init_globals, freeswitch_destroy_globals); /* Register resource destructors for pointer types */ le_swig__p_switch_channel_t=zend_register_list_destructors_ex(_wrap_destroy_p_switch_channel_t,NULL,(char *)(SWIGTYPE_p_switch_channel_t->name),module_number); @@ -2268,8 +1668,8 @@ le_swig__p_switch_core_session_t=zend_register_list_destructors_ex(_wrap_destroy SWIG_TypeClientData(SWIGTYPE_p_switch_core_session_t,&le_swig__p_switch_core_session_t); le_swig__p_p_switch_core_session_t=zend_register_list_destructors_ex(_wrap_destroy_p_p_switch_core_session_t,NULL,(char *)(SWIGTYPE_p_p_switch_core_session_t->name),module_number); SWIG_TypeClientData(SWIGTYPE_p_p_switch_core_session_t,&le_swig__p_p_switch_core_session_t); -le_swig__p_p_void=zend_register_list_destructors_ex(_wrap_destroy_p_p_void,NULL,(char *)(SWIGTYPE_p_p_void->name),module_number); -SWIG_TypeClientData(SWIGTYPE_p_p_void,&le_swig__p_p_void); +le_swig__p_void=zend_register_list_destructors_ex(_wrap_destroy_p_void,NULL,(char *)(SWIGTYPE_p_void->name),module_number); +SWIG_TypeClientData(SWIGTYPE_p_void,&le_swig__p_void); le_swig__p_uint32_t=zend_register_list_destructors_ex(_wrap_destroy_p_uint32_t,NULL,(char *)(SWIGTYPE_p_uint32_t->name),module_number); SWIG_TypeClientData(SWIGTYPE_p_uint32_t,&le_swig__p_uint32_t); le_swig__p_switch_input_callback_function_t=zend_register_list_destructors_ex(_wrap_destroy_p_switch_input_callback_function_t,NULL,(char *)(SWIGTYPE_p_switch_input_callback_function_t->name),module_number); @@ -2281,8 +1681,6 @@ CG(active_class_entry) = NULL; } PHP_RINIT_FUNCTION(freeswitch) { -/* rinit section */ - /* cinit subsection */ /* end cinit subsection */ @@ -2291,16 +1689,8 @@ PHP_RINIT_FUNCTION(freeswitch) return SUCCESS; } -PHP_MSHUTDOWN_FUNCTION(freeswitch) -{ -/* shutdown section */ - - return SUCCESS; -} PHP_RSHUTDOWN_FUNCTION(freeswitch) { -/* rshutdown section */ - return SUCCESS; } PHP_MINFO_FUNCTION(freeswitch) diff --git a/src/mod/languages/mod_python/switch_swig_wrap.c b/src/mod/languages/mod_python/switch_swig_wrap.c index 52c1ff3ad9..0296d4abf1 100644 --- a/src/mod/languages/mod_python/switch_swig_wrap.c +++ b/src/mod/languages/mod_python/switch_swig_wrap.c @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.29 + * Version 1.3.21 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -9,288 +9,74 @@ * ----------------------------------------------------------------------------- */ #define SWIGPYTHON -#define SWIG_PYTHON_DIRECTOR_NO_VTABLE -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif +#include "Python.h" -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) -# define _CRT_SECURE_NO_DEPRECATE -#endif - - -/* Python.h has to appear first */ -#include - -/* ----------------------------------------------------------------------------- - * swigrun.swg +/*************************************************************** -*- c -*- + * python/precommon.swg * - * This file contains generic CAPI SWIG runtime support for pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "2" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -# define SWIG_QUOTE_STRING(x) #x -# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -# define SWIG_TYPE_TABLE_NAME -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the swig runtime code. - In 99.9% of the cases, swig just needs to declare them as 'static'. - - But only do this if is strictly necessary, ie, if you have problems - with your compiler or so. -*/ - -#ifndef SWIGRUNTIME -# define SWIGRUNTIME SWIGINTERN -#endif - -#ifndef SWIGRUNTIMEINLINE -# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -/* Generic buffer size */ -#ifndef SWIG_BUFFER_SIZE -# define SWIG_BUFFER_SIZE 1024 -#endif - -/* Flags for pointer conversions */ -#define SWIG_POINTER_DISOWN 0x1 - -/* Flags for new pointer objects */ -#define SWIG_POINTER_OWN 0x1 - - -/* - Flags/methods for returning states. - - The swig conversion methods, as ConvertPtr, return and integer - that tells if the conversion was successful or not. And if not, - an error code can be returned (see swigerrors.swg for the codes). - - Use the following macros/flags to set or process the returning - states. - - In old swig versions, you usually write code as: - - if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { - // success code - } else { - //fail code - } - - Now you can be more explicit as: - - int res = SWIG_ConvertPtr(obj,vptr,ty.flags); - if (SWIG_IsOK(res)) { - // success code - } else { - // fail code - } - - that seems to be the same, but now you can also do - - Type *ptr; - int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); - if (SWIG_IsOK(res)) { - // success code - if (SWIG_IsNewObj(res) { - ... - delete *ptr; - } else { - ... - } - } else { - // fail code - } - - I.e., now SWIG_ConvertPtr can return new objects and you can - identify the case and take care of the deallocation. Of course that - requires also to SWIG_ConvertPtr to return new result values, as - - int SWIG_ConvertPtr(obj, ptr,...) { - if () { - if () { - *ptr = ; - return SWIG_NEWOBJ; - } else { - *ptr = ; - return SWIG_OLDOBJ; - } - } else { - return SWIG_BADOBJ; - } - } - - Of course, returning the plain '0(success)/-1(fail)' still works, but you can be - more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the - swig errors code. - - Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this - - int food(double) - int fooi(int); - - and you call - - food(1) // cast rank '1' (1 -> 1.0) - fooi(1) // cast rank '0' - - just use the SWIG_AddCast()/SWIG_CheckState() - - - */ -#define SWIG_OK (0) -#define SWIG_ERROR (-1) -#define SWIG_IsOK(r) (r >= 0) -#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) - -/* The CastRankLimit says how many bits are used for the cast rank */ -#define SWIG_CASTRANKLIMIT (1 << 8) -/* The NewMask denotes the object was created (using new/malloc) */ -#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) -/* The TmpMask is for in/out typemaps that use temporal objects */ -#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) -/* Simple returning values */ -#define SWIG_BADOBJ (SWIG_ERROR) -#define SWIG_OLDOBJ (SWIG_OK) -#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) -#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ -#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) -#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) -#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) -#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) -#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) -#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) - - -/* Cast-Rank Mode */ -#if defined(SWIG_CASTRANK_MODE) -# ifndef SWIG_TypeRank -# define SWIG_TypeRank unsigned long -# endif -# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ -# define SWIG_MAXCASTRANK (2) -# endif -# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) -# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) -SWIGINTERNINLINE int SWIG_AddCast(int r) { - return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; -} -SWIGINTERNINLINE int SWIG_CheckState(int r) { - return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; -} -#else /* no cast-rank mode */ -# define SWIG_AddCast -# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) -#endif + * Rename all exported symbols from common.swg, to avoid symbol + * clashes if multiple interpreters are included + * + ************************************************************************/ +#define SWIG_TypeRegister SWIG_Python_TypeRegister +#define SWIG_TypeCheck SWIG_Python_TypeCheck +#define SWIG_TypeCast SWIG_Python_TypeCast +#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast +#define SWIG_TypeName SWIG_Python_TypeName +#define SWIG_TypeQuery SWIG_Python_TypeQuery +#define SWIG_TypeClientData SWIG_Python_TypeClientData +#define SWIG_PackData SWIG_Python_PackData +#define SWIG_UnpackData SWIG_Python_UnpackData +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ #include +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(_MSC_VER) || defined(__GNUC__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) extern a +# else +# define SWIGEXPORT(a) __declspec(dllexport) a +# define SWIGIMPORT(a) extern a +# endif +# else +# if defined(__BORLANDC__) +# define SWIGEXPORT(a) a _export +# define SWIGIMPORT(a) a _export +# else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +# endif +# endif +#else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +#endif + +#ifdef SWIG_GLOBAL +# define SWIGRUNTIME(a) SWIGEXPORT(a) +#else +# define SWIGRUNTIME(a) static a +#endif + #ifdef __cplusplus extern "C" { #endif @@ -298,141 +84,106 @@ extern "C" { typedef void *(*swig_converter_func)(void *); typedef struct swig_type_info *(*swig_dycast_func)(void **); -/* Structure to store inforomation on one type */ typedef struct swig_type_info { - const char *name; /* mangled name of this type */ - const char *str; /* human readable name of this type */ - swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ - struct swig_cast_info *cast; /* linked list of types that can cast into this type */ - void *clientdata; /* language specific type data */ - int owndata; /* flag if the structure owns the clientdata */ + const char *name; + swig_converter_func converter; + const char *str; + void *clientdata; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; } swig_type_info; -/* Structure to store a type and conversion function used for casting */ -typedef struct swig_cast_info { - swig_type_info *type; /* pointer to type that is equivalent to this type */ - swig_converter_func converter; /* function to cast the void pointers */ - struct swig_cast_info *next; /* pointer to next cast in linked list */ - struct swig_cast_info *prev; /* pointer to the previous cast */ -} swig_cast_info; +#ifdef SWIG_NOINCLUDE -/* Structure used to store module information - * Each module generates one structure like this, and the runtime collects - * all of these structures and stores them in a circularly linked list.*/ -typedef struct swig_module_info { - swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ - size_t size; /* Number of types in this module */ - struct swig_module_info *next; /* Pointer to next element in circularly linked list */ - swig_type_info **type_initial; /* Array of initially generated type structures */ - swig_cast_info **cast_initial; /* Array of initially generated casting structures */ - void *clientdata; /* Language specific module data */ -} swig_module_info; +SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); +SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); +SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); +SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); +SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); +SWIGIMPORT(char *) SWIG_PackData(char *, void *, int); +SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int); -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. +#else - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; - } - return (l1 - f1) - (l2 - f2); -} +static swig_type_info *swig_type_list = 0; -/* - Check type equivalence in a name list like ||... - Return 0 if not equal, 1 if equal -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Register a type mapping with the type-checking */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeRegister(swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = swig_type_list; + while (tc) { + if (strcmp(tc->name, ti->name) == 0) { + /* Already exists in the table. Just add additional types to the list */ + if (tc->clientdata) ti->clientdata = tc->clientdata; + head = tc; + next = tc->next; + goto l1; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; + tc = tc->prev; } - return equiv; + head = ti; + next = 0; + + /* Place in list */ + ti->prev = swig_type_list; + swig_type_list = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + if (next) next->prev = head; + head->next = next; + return ret; } -/* - Check type equivalence in a name list like ||... - Return 0 if equal, -1 if nb < tb, 1 if nb > tb -*/ -SWIGRUNTIME int -SWIG_TypeCompare(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; +/* Check the typename */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeCheck(char *c, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; - } - return equiv; + s = s->next; + } while (s && (s != ty->next)); + return 0; } - -/* think of this as a c++ template<> or a scheme macro */ -#define SWIG_TypeCheck_Template(comparison, ty) \ - if (ty) { \ - swig_cast_info *iter = ty->cast; \ - while (iter) { \ - if (comparison) { \ - if (iter == ty->cast) return iter; \ - /* Move iter to the top of the linked list */ \ - iter->prev->next = iter->next; \ - if (iter->next) \ - iter->next->prev = iter->prev; \ - iter->next = ty->cast; \ - iter->prev = 0; \ - if (ty->cast) ty->cast->prev = iter; \ - ty->cast = iter; \ - return iter; \ - } \ - iter = iter->next; \ - } \ - } \ - return 0 - -/* - Check the typename -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); +/* Cast a pointer up an inheritance hierarchy */ +SWIGRUNTIME(void *) +SWIG_TypeCast(swig_type_info *ty, void *ptr) { + if ((!ty) || (!ty->converter)) return ptr; + return (*ty->converter)(ptr); } -/* Same as previous function, except strcmp is replaced with a pointer comparison */ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { - SWIG_TypeCheck_Template(iter->type == from, into); -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_cast_info *ty, void *ptr) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * +/* Dynamic pointer casting. Down an inheritance hierarchy */ +SWIGRUNTIME(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { swig_type_info *lastty = ty; if (!ty || !ty->dcast) return ty; @@ -443,2024 +194,505 @@ SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { return lastty; } -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * +/* Return the name associated with this type */ +SWIGRUNTIME(const char *) SWIG_TypeName(const swig_type_info *ty) { return ty->name; } -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (!type) return NULL; - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; +/* Search for a swig_type_info structure */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeQuery(const char *name) { + swig_type_info *ty = swig_type_list; + while (ty) { + if (ty->str && (strcmp(name,ty->str) == 0)) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; } - else - return type->name; + return 0; } -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void +/* Set the clientdata field for a type */ +SWIGRUNTIME(void) SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_cast_info *cast = ti->cast; - /* if (ti->clientdata == clientdata) return; */ + swig_type_info *tc, *equiv; + if (ti->clientdata == clientdata) return; ti->clientdata = clientdata; - - while (cast) { - if (!cast->converter) { - swig_type_info *tc = cast->type; - if (!tc->clientdata) { - SWIG_TypeClientData(tc, clientdata); + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = swig_type_list; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientData(tc,clientdata); + tc = tc->prev; } - } - cast = cast->next; - } -} -SWIGRUNTIME void -SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientData(ti, clientdata); - ti->owndata = 1; -} - -/* - Search for a swig_type_info structure only by mangled name - Search is a O(log #types) - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_MangledTypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - swig_module_info *iter = start; - do { - if (iter->size) { - register size_t l = 0; - register size_t r = iter->size - 1; - do { - /* since l+r >= 0, we can (>> 1) instead (/ 2) */ - register size_t i = (l + r) >> 1; - const char *iname = iter->types[i]->name; - if (iname) { - register int compare = strcmp(name, iname); - if (compare == 0) { - return iter->types[i]; - } else if (compare < 0) { - if (i) { - r = i - 1; - } else { - break; - } - } else if (compare > 0) { - l = i + 1; - } - } else { - break; /* should never happen */ - } - } while (l <= r); } - iter = iter->next; - } while (iter != end); - return 0; -} - -/* - Search for a swig_type_info structure for either a mangled name or a human readable name. - It first searches the mangled names of the types, which is a O(log #types) - If a type is not found it then searches the human readable names, which is O(#types). - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - /* STEP 1: Search the name field using binary search */ - swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); - if (ret) { - return ret; - } else { - /* STEP 2: If the type hasn't been found, do a complete search - of the str field (the human readable name) */ - swig_module_info *iter = start; - do { - register size_t i = 0; - for (; i < iter->size; ++i) { - if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) - return iter->types[i]; - } - iter = iter->next; - } while (iter != end); + equiv = equiv->next; } - - /* neither found a match */ - return 0; } -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static const char hex[17] = "0123456789abcdef"; - register const unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register unsigned char uu = *u; +/* Pack binary data into a string */ +SWIGRUNTIME(char *) +SWIG_PackData(char *c, void *ptr, int sz) { + static char hex[17] = "0123456789abcdef"; + int i; + unsigned char *u = (unsigned char *) ptr; + register unsigned char uu; + for (i = 0; i < sz; i++,u++) { + uu = *u; *(c++) = hex[(uu & 0xf0) >> 4]; *(c++) = hex[uu & 0xf]; } return c; } -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - register unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register char d = *(c++); - register unsigned char uu; +/* Unpack binary data from a string */ +SWIGRUNTIME(char *) +SWIG_UnpackData(char *c, void *ptr, int sz) { + register unsigned char uu = 0; + register int d; + unsigned char *u = (unsigned char *) ptr; + int i; + for (i = 0; i < sz; i++, u++) { + d = *(c++); if ((d >= '0') && (d <= '9')) uu = ((d - '0') << 4); else if ((d >= 'a') && (d <= 'f')) uu = ((d - ('a'-10)) << 4); - else - return (char *) 0; d = *(c++); if ((d >= '0') && (d <= '9')) uu |= (d - '0'); else if ((d >= 'a') && (d <= 'f')) uu |= (d - ('a'-10)); - else - return (char *) 0; *u = uu; } return c; } -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} +#endif #ifdef __cplusplus } #endif -/* Errors in SWIG */ -#define SWIG_UnknownError -1 -#define SWIG_IOError -2 -#define SWIG_RuntimeError -3 -#define SWIG_IndexError -4 -#define SWIG_TypeError -5 -#define SWIG_DivisionByZero -6 -#define SWIG_OverflowError -7 -#define SWIG_SyntaxError -8 -#define SWIG_ValueError -9 -#define SWIG_SystemError -10 -#define SWIG_AttributeError -11 -#define SWIG_MemoryError -12 -#define SWIG_NullReferenceError -13 +/*********************************************************************** + * python.swg + * + * This file contains the runtime support for Python modules + * and includes code for managing global variables and pointer + * type checking. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + ************************************************************************/ - - -/* Python.h has to appear first */ -#include - -/* Add PyOS_snprintf for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 -# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) -# define PyOS_snprintf _snprintf -# else -# define PyOS_snprintf snprintf -# endif -#endif - -/* A crude PyString_FromFormat implementation for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 - -#ifndef SWIG_PYBUFFER_SIZE -# define SWIG_PYBUFFER_SIZE 1024 -#endif - -static PyObject * -PyString_FromFormat(const char *fmt, ...) { - va_list ap; - char buf[SWIG_PYBUFFER_SIZE * 2]; - int res; - va_start(ap, fmt); - res = vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); -} -#endif - -/* Add PyObject_Del for old Pythons */ -#if PY_VERSION_HEX < 0x01060000 -# define PyObject_Del(op) PyMem_DEL((op)) -#endif -#ifndef PyObject_DEL -# define PyObject_DEL PyObject_Del -#endif - -/* A crude PyExc_StopIteration exception for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 -# ifndef PyExc_StopIteration -# define PyExc_StopIteration PyExc_RuntimeError -# endif -# ifndef PyObject_GenericGetAttr -# define PyObject_GenericGetAttr 0 -# endif -#endif -/* Py_NotImplemented is defined in 2.1 and up. */ -#if PY_VERSION_HEX < 0x02010000 -# ifndef Py_NotImplemented -# define Py_NotImplemented PyExc_RuntimeError -# endif -#endif - - -/* A crude PyString_AsStringAndSize implementation for old Pythons */ -#if PY_VERSION_HEX < 0x02010000 -# ifndef PyString_AsStringAndSize -# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} -# endif -#endif - -/* PySequence_Size for old Pythons */ -#if PY_VERSION_HEX < 0x02000000 -# ifndef PySequence_Size -# define PySequence_Size PySequence_Length -# endif -#endif - - -/* PyBool_FromLong for old Pythons */ -#if PY_VERSION_HEX < 0x02030000 -static -PyObject *PyBool_FromLong(long ok) -{ - PyObject *result = ok ? Py_True : Py_False; - Py_INCREF(result); - return result; -} -#endif - - -/* ----------------------------------------------------------------------------- - * error manipulation - * ----------------------------------------------------------------------------- */ - -SWIGRUNTIME PyObject* -SWIG_Python_ErrorType(int code) { - PyObject* type = 0; - switch(code) { - case SWIG_MemoryError: - type = PyExc_MemoryError; - break; - case SWIG_IOError: - type = PyExc_IOError; - break; - case SWIG_RuntimeError: - type = PyExc_RuntimeError; - break; - case SWIG_IndexError: - type = PyExc_IndexError; - break; - case SWIG_TypeError: - type = PyExc_TypeError; - break; - case SWIG_DivisionByZero: - type = PyExc_ZeroDivisionError; - break; - case SWIG_OverflowError: - type = PyExc_OverflowError; - break; - case SWIG_SyntaxError: - type = PyExc_SyntaxError; - break; - case SWIG_ValueError: - type = PyExc_ValueError; - break; - case SWIG_SystemError: - type = PyExc_SystemError; - break; - case SWIG_AttributeError: - type = PyExc_AttributeError; - break; - default: - type = PyExc_RuntimeError; - } - return type; -} - - -SWIGRUNTIME void -SWIG_Python_AddErrorMsg(const char* mesg) -{ - PyObject *type = 0; - PyObject *value = 0; - PyObject *traceback = 0; - - if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); - if (value) { - PyObject *old_str = PyObject_Str(value); - PyErr_Clear(); - Py_XINCREF(type); - PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); - Py_DECREF(old_str); - Py_DECREF(value); - } else { - PyErr_Format(PyExc_RuntimeError, mesg); - } -} - - - -#if defined(SWIG_PYTHON_NO_THREADS) -# if defined(SWIG_PYTHON_THREADS) -# undef SWIG_PYTHON_THREADS -# endif -#endif -#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ -# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) -# if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ -# define SWIG_PYTHON_USE_GIL -# endif -# endif -# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ -# ifndef SWIG_PYTHON_INITIALIZE_THREADS -# define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() -# endif -# ifdef __cplusplus /* C++ code */ - class SWIG_Python_Thread_Block { - bool status; - PyGILState_STATE state; - public: - void end() { if (status) { PyGILState_Release(state); status = false;} } - SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} - ~SWIG_Python_Thread_Block() { end(); } - }; - class SWIG_Python_Thread_Allow { - bool status; - PyThreadState *save; - public: - void end() { if (status) { PyEval_RestoreThread(save); status = false; }} - SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} - ~SWIG_Python_Thread_Allow() { end(); } - }; -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block -# define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow -# define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() -# else /* C code */ -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure() -# define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block) -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread() -# define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow) -# endif -# else /* Old thread way, not implemented, user must provide it */ -# if !defined(SWIG_PYTHON_INITIALIZE_THREADS) -# define SWIG_PYTHON_INITIALIZE_THREADS -# endif -# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK -# endif -# if !defined(SWIG_PYTHON_THREAD_END_BLOCK) -# define SWIG_PYTHON_THREAD_END_BLOCK -# endif -# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW -# endif -# if !defined(SWIG_PYTHON_THREAD_END_ALLOW) -# define SWIG_PYTHON_THREAD_END_ALLOW -# endif -# endif -#else /* No thread support */ -# define SWIG_PYTHON_INITIALIZE_THREADS -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK -# define SWIG_PYTHON_THREAD_END_BLOCK -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW -# define SWIG_PYTHON_THREAD_END_ALLOW -#endif - -/* ----------------------------------------------------------------------------- - * Python API portion that goes into the runtime - * ----------------------------------------------------------------------------- */ +#include "Python.h" #ifdef __cplusplus extern "C" { -#if 0 -} /* cc-mode */ -#endif #endif -/* ----------------------------------------------------------------------------- - * Constant declarations - * ----------------------------------------------------------------------------- */ - -/* Constant Types */ +#define SWIG_PY_INT 1 +#define SWIG_PY_FLOAT 2 +#define SWIG_PY_STRING 3 #define SWIG_PY_POINTER 4 #define SWIG_PY_BINARY 5 +/* Flags for pointer conversion */ + +#define SWIG_POINTER_EXCEPTION 0x1 +#define SWIG_POINTER_DISOWN 0x2 + +/* Exception handling in wrappers */ +#define SWIG_fail goto fail + /* Constant information structure */ typedef struct swig_const_info { - int type; - char *name; - long lvalue; - double dvalue; - void *pvalue; - swig_type_info **ptype; + int type; + char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; } swig_const_info; -#ifdef __cplusplus -#if 0 -{ /* cc-mode */ -#endif -} -#endif - - -/* ----------------------------------------------------------------------------- - * See the LICENSE file for information on copyright, usage and redistribution - * of SWIG, and the README file for authors - http://www.swig.org/release.html. - * - * pyrun.swg - * - * This file contains the runtime support for Python modules - * and includes code for managing global variables and pointer - * type checking. - * - * ----------------------------------------------------------------------------- */ - /* Common SWIG API */ +#define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Python_ConvertPtr(obj, pp, type, flags) +#define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Python_NewPointerObj(p, type, flags) +#define SWIG_MustGetPtr(p, type, argnum, flags) \ + SWIG_Python_MustGetPtr(p, type, argnum, flags) -/* for raw pointers */ -#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) -#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags) -#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) -#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags) -#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) -#define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src) -#define swig_owntype int +/* Python-specific SWIG API */ +#define SWIG_newvarlink() \ + SWIG_Python_newvarlink() +#define SWIG_addvarlink(p, name, get_attr, set_attr) \ + SWIG_Python_addvarlink(p, name, get_attr, set_attr) +#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \ + SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags) +#define SWIG_NewPackedObj(ptr, sz, type) \ + SWIG_Python_NewPackedObj(ptr, sz, type) +#define SWIG_InstallConstants(d, constants) \ + SWIG_Python_InstallConstants(d, constants) -/* for raw packed data */ -#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) +#ifdef SWIG_NOINCLUDE -/* for class or struct pointers */ -#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) -#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) +SWIGIMPORT(int) SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int); +SWIGIMPORT(PyObject *) SWIG_Python_NewPointerObj(void *, swig_type_info *,int own); +SWIGIMPORT(void *) SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int); +SWIGIMPORT(PyObject *) SWIG_Python_newvarlink(void); +SWIGIMPORT(void) SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *)); +SWIGIMPORT(int) SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int); +SWIGIMPORT(PyObject *) SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *); +SWIGIMPORT(void) SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]); -/* for C or C++ function pointers */ -#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type) -#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0) - -/* for C++ member pointers, ie, member methods */ -#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) - - -/* Runtime API */ - -#define SWIG_GetModule(clientdata) SWIG_Python_GetModule() -#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) -#define SWIG_NewClientData(obj) PySwigClientData_New(obj) - -#define SWIG_SetErrorObj SWIG_Python_SetErrorObj -#define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg -#define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) -#define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) -#define SWIG_fail goto fail - - -/* Runtime API implementation */ - -/* Error manipulation */ - -SWIGINTERN void -SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { - SWIG_PYTHON_THREAD_BEGIN_BLOCK; - PyErr_SetObject(errtype, obj); - Py_DECREF(obj); - SWIG_PYTHON_THREAD_END_BLOCK; -} - -SWIGINTERN void -SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { - SWIG_PYTHON_THREAD_BEGIN_BLOCK; - PyErr_SetString(errtype, (char *) msg); - SWIG_PYTHON_THREAD_END_BLOCK; -} - -#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) - -/* Set a constant value */ - -SWIGINTERN void -SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { - PyDict_SetItemString(d, (char*) name, obj); - Py_DECREF(obj); -} - -/* Append a value to the result obj */ - -SWIGINTERN PyObject* -SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) { -#if !defined(SWIG_PYTHON_OUTPUT_TUPLE) - if (!result) { - result = obj; - } else if (result == Py_None) { - Py_DECREF(result); - result = obj; - } else { - if (!PyList_Check(result)) { - PyObject *o2 = result; - result = PyList_New(1); - PyList_SetItem(result, 0, o2); - } - PyList_Append(result,obj); - Py_DECREF(obj); - } - return result; #else - PyObject* o2; - PyObject* o3; - if (!result) { - result = obj; - } else if (result == Py_None) { - Py_DECREF(result); - result = obj; - } else { - if (!PyTuple_Check(result)) { - o2 = result; - result = PyTuple_New(1); - PyTuple_SET_ITEM(result, 0, o2); - } - o3 = PyTuple_New(1); - PyTuple_SET_ITEM(o3, 0, obj); - o2 = result; - result = PySequence_Concat(o2, o3); - Py_DECREF(o2); - Py_DECREF(o3); - } - return result; -#endif -} - -/* Unpack the argument tuple */ - -SWIGINTERN int -SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs) -{ - if (!args) { - if (!min && !max) { - return 1; - } else { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", - name, (min == max ? "" : "at least "), min); - return 0; - } - } - if (!PyTuple_Check(args)) { - PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); - return 0; - } else { - register int l = PyTuple_GET_SIZE(args); - if (l < min) { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at least "), min, l); - return 0; - } else if (l > max) { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at most "), max, l); - return 0; - } else { - register int i; - for (i = 0; i < l; ++i) { - objs[i] = PyTuple_GET_ITEM(args, i); - } - for (; l < max; ++l) { - objs[l] = 0; - } - return i + 1; - } - } -} - -/* A functor is a function object with one single object argument */ -#if PY_VERSION_HEX >= 0x02020000 -#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); -#else -#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj); -#endif - -/* - Helper for static pointer initialization for both C and C++ code, for example - static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); -*/ -#ifdef __cplusplus -#define SWIG_STATIC_POINTER(var) var -#else -#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var -#endif /* ----------------------------------------------------------------------------- - * Pointer declarations + * global variable support code. * ----------------------------------------------------------------------------- */ -/* Flags for new pointer objects */ -#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1) -#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) +typedef struct swig_globalvar { + char *name; /* Name of global variable */ + PyObject *(*get_attr)(void); /* Return the current value */ + int (*set_attr)(PyObject *); /* Set the value */ + struct swig_globalvar *next; +} swig_globalvar; -#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1) - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* cc-mode */ -#endif -#endif - -/* How to access Py_None */ -#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# ifndef SWIG_PYTHON_NO_BUILD_NONE -# ifndef SWIG_PYTHON_BUILD_NONE -# define SWIG_PYTHON_BUILD_NONE -# endif -# endif -#endif - -#ifdef SWIG_PYTHON_BUILD_NONE -# ifdef Py_None -# undef Py_None -# define Py_None SWIG_Py_None() -# endif -SWIGRUNTIMEINLINE PyObject * -_SWIG_Py_None(void) -{ - PyObject *none = Py_BuildValue(""); - Py_DECREF(none); - return none; -} -SWIGRUNTIME PyObject * -SWIG_Py_None(void) -{ - static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); - return none; -} -#endif - -/* The python void return value */ - -SWIGRUNTIMEINLINE PyObject * -SWIG_Py_Void(void) -{ - PyObject *none = Py_None; - Py_INCREF(none); - return none; -} - -/* PySwigClientData */ - -typedef struct { - PyObject *klass; - PyObject *newraw; - PyObject *newargs; - PyObject *destroy; - int delargs; - int implicitconv; -} PySwigClientData; - -SWIGRUNTIMEINLINE int -SWIG_Python_CheckImplicit(swig_type_info *ty) -{ - PySwigClientData *data = (PySwigClientData *)ty->clientdata; - return data ? data->implicitconv : 0; -} - -SWIGRUNTIMEINLINE PyObject * -SWIG_Python_ExceptionType(swig_type_info *desc) { - PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0; - PyObject *klass = data ? data->klass : 0; - return (klass ? klass : PyExc_RuntimeError); -} - - -SWIGRUNTIME PySwigClientData * -PySwigClientData_New(PyObject* obj) -{ - if (!obj) { - return 0; - } else { - PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData)); - /* the klass element */ - data->klass = obj; - Py_INCREF(data->klass); - /* the newraw method and newargs arguments used to create a new raw instance */ - if (PyClass_Check(obj)) { - data->newraw = 0; - data->newargs = obj; - Py_INCREF(obj); - } else { -#if (PY_VERSION_HEX < 0x02020000) - data->newraw = 0; -#else - data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__"); -#endif - if (data->newraw) { - Py_INCREF(data->newraw); - data->newargs = PyTuple_New(1); - PyTuple_SetItem(data->newargs, 0, obj); - } else { - data->newargs = obj; - } - Py_INCREF(data->newargs); - } - /* the destroy method, aka as the C++ delete method */ - data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); - if (PyErr_Occurred()) { - PyErr_Clear(); - data->destroy = 0; - } - if (data->destroy) { - int flags; - Py_INCREF(data->destroy); - flags = PyCFunction_GET_FLAGS(data->destroy); -#ifdef METH_O - data->delargs = !(flags & (METH_O)); -#else - data->delargs = 0; -#endif - } else { - data->delargs = 0; - } - data->implicitconv = 0; - return data; - } -} - -SWIGRUNTIME void -PySwigClientData_Del(PySwigClientData* data) -{ - Py_XDECREF(data->newraw); - Py_XDECREF(data->newargs); - Py_XDECREF(data->destroy); -} - -/* =============== PySwigObject =====================*/ - -typedef struct { +typedef struct swig_varlinkobject { PyObject_HEAD - void *ptr; - swig_type_info *ty; - int own; - PyObject *next; -} PySwigObject; + swig_globalvar *vars; +} swig_varlinkobject; -SWIGRUNTIME PyObject * -PySwigObject_long(PySwigObject *v) -{ - return PyLong_FromVoidPtr(v->ptr); +static PyObject * +swig_varlink_repr(swig_varlinkobject *v) { + v = v; + return PyString_FromString(""); } -SWIGRUNTIME PyObject * -PySwigObject_format(const char* fmt, PySwigObject *v) -{ - PyObject *res = NULL; - PyObject *args = PyTuple_New(1); - if (args) { - if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) { - PyObject *ofmt = PyString_FromString(fmt); - if (ofmt) { - res = PyString_Format(ofmt,args); - Py_DECREF(ofmt); - } - Py_DECREF(args); - } - } - return res; -} - -SWIGRUNTIME PyObject * -PySwigObject_oct(PySwigObject *v) -{ - return PySwigObject_format("%o",v); -} - -SWIGRUNTIME PyObject * -PySwigObject_hex(PySwigObject *v) -{ - return PySwigObject_format("%x",v); -} - -SWIGRUNTIME PyObject * -#ifdef METH_NOARGS -PySwigObject_repr(PySwigObject *v) -#else -PySwigObject_repr(PySwigObject *v, PyObject *args) -#endif -{ - const char *name = SWIG_TypePrettyName(v->ty); - PyObject *hex = PySwigObject_hex(v); - PyObject *repr = PyString_FromFormat("", name, PyString_AsString(hex)); - Py_DECREF(hex); - if (v->next) { -#ifdef METH_NOARGS - PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next); -#else - PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args); -#endif - PyString_ConcatAndDel(&repr,nrep); - } - return repr; -} - -SWIGRUNTIME int -PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) -{ -#ifdef METH_NOARGS - PyObject *repr = PySwigObject_repr(v); -#else - PyObject *repr = PySwigObject_repr(v, NULL); -#endif - if (repr) { - fputs(PyString_AsString(repr), fp); - Py_DECREF(repr); - return 0; - } else { - return 1; - } -} - -SWIGRUNTIME PyObject * -PySwigObject_str(PySwigObject *v) -{ - char result[SWIG_BUFFER_SIZE]; - return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ? - PyString_FromString(result) : 0; -} - -SWIGRUNTIME int -PySwigObject_compare(PySwigObject *v, PySwigObject *w) -{ - void *i = v->ptr; - void *j = w->ptr; - return (i < j) ? -1 : ((i > j) ? 1 : 0); -} - -SWIGRUNTIME PyTypeObject* _PySwigObject_type(void); - -SWIGRUNTIME PyTypeObject* -PySwigObject_type(void) { - static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type(); - return type; -} - -SWIGRUNTIMEINLINE int -PySwigObject_Check(PyObject *op) { - return ((op)->ob_type == PySwigObject_type()) - || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0); -} - -SWIGRUNTIME PyObject * -PySwigObject_New(void *ptr, swig_type_info *ty, int own); - -SWIGRUNTIME void -PySwigObject_dealloc(PyObject *v) -{ - PySwigObject *sobj = (PySwigObject *) v; - PyObject *next = sobj->next; - if (sobj->own) { - swig_type_info *ty = sobj->ty; - PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0; - PyObject *destroy = data ? data->destroy : 0; - if (destroy) { - /* destroy is always a VARARGS method */ - PyObject *res; - if (data->delargs) { - /* we need to create a temporal object to carry the destroy operation */ - PyObject *tmp = PySwigObject_New(sobj->ptr, ty, 0); - res = SWIG_Python_CallFunctor(destroy, tmp); - Py_DECREF(tmp); - } else { - PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); - PyObject *mself = PyCFunction_GET_SELF(destroy); - res = ((*meth)(mself, v)); - } - Py_XDECREF(res); - } else { - const char *name = SWIG_TypePrettyName(ty); -#if !defined(SWIG_PYTHON_SILENT_MEMLEAK) - printf("swig/python detected a memory leak of type '%s', no destructor found.\n", name); -#endif - } - } - Py_XDECREF(next); - PyObject_DEL(v); -} - -SWIGRUNTIME PyObject* -PySwigObject_append(PyObject* v, PyObject* next) -{ - PySwigObject *sobj = (PySwigObject *) v; -#ifndef METH_O - PyObject *tmp = 0; - if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL; - next = tmp; -#endif - if (!PySwigObject_Check(next)) { - return NULL; - } - sobj->next = next; - Py_INCREF(next); - return SWIG_Py_Void(); -} - -SWIGRUNTIME PyObject* -#ifdef METH_NOARGS -PySwigObject_next(PyObject* v) -#else -PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -#endif -{ - PySwigObject *sobj = (PySwigObject *) v; - if (sobj->next) { - Py_INCREF(sobj->next); - return sobj->next; - } else { - return SWIG_Py_Void(); - } -} - -SWIGINTERN PyObject* -#ifdef METH_NOARGS -PySwigObject_disown(PyObject *v) -#else -PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -#endif -{ - PySwigObject *sobj = (PySwigObject *)v; - sobj->own = 0; - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject* -#ifdef METH_NOARGS -PySwigObject_acquire(PyObject *v) -#else -PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -#endif -{ - PySwigObject *sobj = (PySwigObject *)v; - sobj->own = SWIG_POINTER_OWN; - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject* -PySwigObject_own(PyObject *v, PyObject *args) -{ - PyObject *val = 0; -#if (PY_VERSION_HEX < 0x02020000) - if (!PyArg_ParseTuple(args,(char *)"|O:own",&val)) -#else - if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) -#endif - { - return NULL; - } - else - { - PySwigObject *sobj = (PySwigObject *)v; - PyObject *obj = PyBool_FromLong(sobj->own); - if (val) { -#ifdef METH_NOARGS - if (PyObject_IsTrue(val)) { - PySwigObject_acquire(v); - } else { - PySwigObject_disown(v); - } -#else - if (PyObject_IsTrue(val)) { - PySwigObject_acquire(v,args); - } else { - PySwigObject_disown(v,args); - } -#endif - } - return obj; - } -} - -#ifdef METH_O -static PyMethodDef -swigobject_methods[] = { - {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"}, - {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"}, - {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)PySwigObject_append, METH_O, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)PySwigObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, - {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_NOARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} -}; -#else -static PyMethodDef -swigobject_methods[] = { - {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"}, - {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"}, - {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)PySwigObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)PySwigObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, - {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_VARARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} -}; -#endif - -#if PY_VERSION_HEX < 0x02020000 -SWIGINTERN PyObject * -PySwigObject_getattr(PySwigObject *sobj,char *name) -{ - return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name); -} -#endif - -SWIGRUNTIME PyTypeObject* -_PySwigObject_type(void) { - static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer"; - - static PyNumberMethods PySwigObject_as_number = { - (binaryfunc)0, /*nb_add*/ - (binaryfunc)0, /*nb_subtract*/ - (binaryfunc)0, /*nb_multiply*/ - (binaryfunc)0, /*nb_divide*/ - (binaryfunc)0, /*nb_remainder*/ - (binaryfunc)0, /*nb_divmod*/ - (ternaryfunc)0,/*nb_power*/ - (unaryfunc)0, /*nb_negative*/ - (unaryfunc)0, /*nb_positive*/ - (unaryfunc)0, /*nb_absolute*/ - (inquiry)0, /*nb_nonzero*/ - 0, /*nb_invert*/ - 0, /*nb_lshift*/ - 0, /*nb_rshift*/ - 0, /*nb_and*/ - 0, /*nb_xor*/ - 0, /*nb_or*/ - (coercion)0, /*nb_coerce*/ - (unaryfunc)PySwigObject_long, /*nb_int*/ - (unaryfunc)PySwigObject_long, /*nb_long*/ - (unaryfunc)0, /*nb_float*/ - (unaryfunc)PySwigObject_oct, /*nb_oct*/ - (unaryfunc)PySwigObject_hex, /*nb_hex*/ -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ -#elif PY_VERSION_HEX >= 0x02000000 - 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ -#endif - }; - - static PyTypeObject pyswigobject_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp - = { - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ - (char *)"PySwigObject", /* tp_name */ - sizeof(PySwigObject), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor)PySwigObject_dealloc, /* tp_dealloc */ - (printfunc)PySwigObject_print, /* tp_print */ -#if PY_VERSION_HEX < 0x02020000 - (getattrfunc)PySwigObject_getattr, /* tp_getattr */ -#else - (getattrfunc)0, /* tp_getattr */ -#endif - (setattrfunc)0, /* tp_setattr */ - (cmpfunc)PySwigObject_compare, /* tp_compare */ - (reprfunc)PySwigObject_repr, /* tp_repr */ - &PySwigObject_as_number, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - (hashfunc)0, /* tp_hash */ - (ternaryfunc)0, /* tp_call */ - (reprfunc)PySwigObject_str, /* tp_str */ - PyObject_GenericGetAttr, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - swigobject_doc, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0, /* tp_iter */ - 0, /* tp_iternext */ - swigobject_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - 0, /* tp_free */ - 0, /* tp_is_gc */ - 0, /* tp_bases */ - 0, /* tp_mro */ - 0, /* tp_cache */ - 0, /* tp_subclasses */ - 0, /* tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - pyswigobject_type = tmp; - pyswigobject_type.ob_type = &PyType_Type; - type_init = 1; - } - return &pyswigobject_type; -} - -SWIGRUNTIME PyObject * -PySwigObject_New(void *ptr, swig_type_info *ty, int own) -{ - PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type()); - if (sobj) { - sobj->ptr = ptr; - sobj->ty = ty; - sobj->own = own; - sobj->next = 0; - } - return (PyObject *)sobj; -} - -/* ----------------------------------------------------------------------------- - * Implements a simple Swig Packed type, and use it instead of string - * ----------------------------------------------------------------------------- */ - -typedef struct { - PyObject_HEAD - void *pack; - swig_type_info *ty; - size_t size; -} PySwigPacked; - -SWIGRUNTIME int -PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags)) -{ - char result[SWIG_BUFFER_SIZE]; - fputs("pack, v->size, 0, sizeof(result))) { - fputs("at ", fp); - fputs(result, fp); - } - fputs(v->ty->name,fp); - fputs(">", fp); - return 0; -} - -SWIGRUNTIME PyObject * -PySwigPacked_repr(PySwigPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { - return PyString_FromFormat("", result, v->ty->name); - } else { - return PyString_FromFormat("", v->ty->name); - } -} - -SWIGRUNTIME PyObject * -PySwigPacked_str(PySwigPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ - return PyString_FromFormat("%s%s", result, v->ty->name); - } else { - return PyString_FromString(v->ty->name); - } -} - -SWIGRUNTIME int -PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w) -{ - size_t i = v->size; - size_t j = w->size; - int s = (i < j) ? -1 : ((i > j) ? 1 : 0); - return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); -} - -SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void); - -SWIGRUNTIME PyTypeObject* -PySwigPacked_type(void) { - static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type(); - return type; -} - -SWIGRUNTIMEINLINE int -PySwigPacked_Check(PyObject *op) { - return ((op)->ob_type == _PySwigPacked_type()) - || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0); -} - -SWIGRUNTIME void -PySwigPacked_dealloc(PyObject *v) -{ - if (PySwigPacked_Check(v)) { - PySwigPacked *sobj = (PySwigPacked *) v; - free(sobj->pack); - } - PyObject_DEL(v); -} - -SWIGRUNTIME PyTypeObject* -_PySwigPacked_type(void) { - static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer"; - static PyTypeObject pyswigpacked_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp - = { - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ - (char *)"PySwigPacked", /* tp_name */ - sizeof(PySwigPacked), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor)PySwigPacked_dealloc, /* tp_dealloc */ - (printfunc)PySwigPacked_print, /* tp_print */ - (getattrfunc)0, /* tp_getattr */ - (setattrfunc)0, /* tp_setattr */ - (cmpfunc)PySwigPacked_compare, /* tp_compare */ - (reprfunc)PySwigPacked_repr, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - (hashfunc)0, /* tp_hash */ - (ternaryfunc)0, /* tp_call */ - (reprfunc)PySwigPacked_str, /* tp_str */ - PyObject_GenericGetAttr, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - swigpacked_doc, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - 0, /* tp_free */ - 0, /* tp_is_gc */ - 0, /* tp_bases */ - 0, /* tp_mro */ - 0, /* tp_cache */ - 0, /* tp_subclasses */ - 0, /* tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - pyswigpacked_type = tmp; - pyswigpacked_type.ob_type = &PyType_Type; - type_init = 1; - } - return &pyswigpacked_type; -} - -SWIGRUNTIME PyObject * -PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty) -{ - PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type()); - if (sobj) { - void *pack = malloc(size); - if (pack) { - memcpy(pack, ptr, size); - sobj->pack = pack; - sobj->ty = ty; - sobj->size = size; - } else { - PyObject_DEL((PyObject *) sobj); - sobj = 0; - } - } - return (PyObject *) sobj; -} - -SWIGRUNTIME swig_type_info * -PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size) -{ - if (PySwigPacked_Check(obj)) { - PySwigPacked *sobj = (PySwigPacked *)obj; - if (sobj->size != size) return 0; - memcpy(ptr, sobj->pack, size); - return sobj->ty; - } else { - return 0; - } -} - -/* ----------------------------------------------------------------------------- - * pointers/data manipulation - * ----------------------------------------------------------------------------- */ - -SWIGRUNTIMEINLINE PyObject * -_SWIG_This(void) -{ - return PyString_FromString("this"); -} - -SWIGRUNTIME PyObject * -SWIG_This(void) -{ - static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This(); - return swig_this; -} - -/* #define SWIG_PYTHON_SLOW_GETSET_THIS */ - -SWIGRUNTIME PySwigObject * -SWIG_Python_GetSwigThis(PyObject *pyobj) -{ - if (PySwigObject_Check(pyobj)) { - return (PySwigObject *) pyobj; - } else { - PyObject *obj = 0; -#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) - if (PyInstance_Check(pyobj)) { - obj = _PyInstance_Lookup(pyobj, SWIG_This()); - } else { - PyObject **dictptr = _PyObject_GetDictPtr(pyobj); - if (dictptr != NULL) { - PyObject *dict = *dictptr; - obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0; - } else { -#ifdef PyWeakref_CheckProxy - if (PyWeakref_CheckProxy(pyobj)) { - PyObject *wobj = PyWeakref_GET_OBJECT(pyobj); - return wobj ? SWIG_Python_GetSwigThis(wobj) : 0; - } -#endif - obj = PyObject_GetAttr(pyobj,SWIG_This()); - if (obj) { - Py_DECREF(obj); - } else { - if (PyErr_Occurred()) PyErr_Clear(); - return 0; - } - } - } -#else - obj = PyObject_GetAttr(pyobj,SWIG_This()); - if (obj) { - Py_DECREF(obj); - } else { - if (PyErr_Occurred()) PyErr_Clear(); - return 0; - } -#endif - if (obj && !PySwigObject_Check(obj)) { - /* a PyObject is called 'this', try to get the 'real this' - PySwigObject from it */ - return SWIG_Python_GetSwigThis(obj); - } - return (PySwigObject *)obj; - } -} - -/* Acquire a pointer value */ - -SWIGRUNTIME int -SWIG_Python_AcquirePtr(PyObject *obj, int own) { - if (own) { - PySwigObject *sobj = SWIG_Python_GetSwigThis(obj); - if (sobj) { - int oldown = sobj->own; - sobj->own = own; - return oldown; - } +static int +swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) { + swig_globalvar *var; + flags = flags; + fprintf(fp,"Global variables { "); + for (var = v->vars; var; var=var->next) { + fprintf(fp,"%s", var->name); + if (var->next) fprintf(fp,", "); } + fprintf(fp," }\n"); return 0; } +static PyObject * +swig_varlink_getattr(swig_varlinkobject *v, char *n) { + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + return (*var->get_attr)(); + } + var = var->next; + } + PyErr_SetString(PyExc_NameError,"Unknown C global variable"); + return NULL; +} + +static int +swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + return (*var->set_attr)(p); + } + var = var->next; + } + PyErr_SetString(PyExc_NameError,"Unknown C global variable"); + return 1; +} + +statichere PyTypeObject varlinktype = { + PyObject_HEAD_INIT(0) + 0, + (char *)"swigvarlink", /* Type name */ + sizeof(swig_varlinkobject), /* Basic size */ + 0, /* Itemsize */ + 0, /* Deallocator */ + (printfunc) swig_varlink_print, /* Print */ + (getattrfunc) swig_varlink_getattr, /* get attr */ + (setattrfunc) swig_varlink_setattr, /* Set attr */ + 0, /* tp_compare */ + (reprfunc) swig_varlink_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_mapping*/ + 0, /* tp_hash */ +}; + +/* Create a variable linking object for use later */ +SWIGRUNTIME(PyObject *) +SWIG_Python_newvarlink(void) { + swig_varlinkobject *result = 0; + result = PyMem_NEW(swig_varlinkobject,1); + varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */ + result->ob_type = &varlinktype; + result->vars = 0; + result->ob_refcnt = 0; + Py_XINCREF((PyObject *) result); + return ((PyObject*) result); +} + +SWIGRUNTIME(void) +SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { + swig_varlinkobject *v; + swig_globalvar *gv; + v= (swig_varlinkobject *) p; + gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); + gv->name = (char *) malloc(strlen(name)+1); + strcpy(gv->name,name); + gv->get_attr = get_attr; + gv->set_attr = set_attr; + gv->next = v->vars; + v->vars = gv; +} + /* Convert a pointer value */ +SWIGRUNTIME(int) +SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) { + swig_type_info *tc; + char *c = 0; + static PyObject *SWIG_this = 0; + int newref = 0; + PyObject *pyobj = 0; -SWIGRUNTIME int -SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) { - if (!obj) return SWIG_ERROR; + if (!obj) return 0; if (obj == Py_None) { - if (ptr) *ptr = 0; - return SWIG_OK; - } else { - PySwigObject *sobj = SWIG_Python_GetSwigThis(obj); - while (sobj) { - void *vptr = sobj->ptr; - if (ty) { - swig_type_info *to = sobj->ty; - if (to == ty) { - /* no type cast needed */ - if (ptr) *ptr = vptr; - break; - } else { - swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); - if (!tc) { - sobj = (PySwigObject *)sobj->next; - } else { - if (ptr) *ptr = SWIG_TypeCast(tc,vptr); - break; - } - } - } else { - if (ptr) *ptr = vptr; - break; - } - } - if (sobj) { - if (own) *own = sobj->own; - if (flags & SWIG_POINTER_DISOWN) { - sobj->own = 0; - } - return SWIG_OK; - } else { - int res = SWIG_ERROR; - if (flags & SWIG_POINTER_IMPLICIT_CONV) { - PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0; - if (data && !data->implicitconv) { - PyObject *klass = data->klass; - if (klass) { - PyObject *impconv; - data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/ - impconv = SWIG_Python_CallFunctor(klass, obj); - data->implicitconv = 0; - if (PyErr_Occurred()) { - PyErr_Clear(); - impconv = 0; - } - if (impconv) { - PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv); - if (iobj) { - void *vptr; - res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0); - if (SWIG_IsOK(res)) { - if (ptr) { - *ptr = vptr; - /* transfer the ownership to 'ptr' */ - iobj->own = 0; - res = SWIG_AddCast(res); - res = SWIG_AddNewMask(res); - } else { - res = SWIG_AddCast(res); - } - } - } - Py_DECREF(impconv); - } - } - } - } - return res; - } + *ptr = 0; + return 0; } -} - -/* Convert a function ptr value */ - -SWIGRUNTIME int -SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { - if (!PyCFunction_Check(obj)) { - return SWIG_ConvertPtr(obj, ptr, ty, 0); - } else { - void *vptr = 0; - - /* here we get the method pointer for callbacks */ - char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); - const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; - if (desc) { - desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; - if (!desc) return SWIG_ERROR; - } - if (ty) { - swig_cast_info *tc = SWIG_TypeCheck(desc,ty); - if (!tc) return SWIG_ERROR; - *ptr = SWIG_TypeCast(tc,vptr); - } else { - *ptr = vptr; - } - return SWIG_OK; - } -} - -/* Convert a packed value value */ - -SWIGRUNTIME int -SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { - swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz); - if (!to) return SWIG_ERROR; - if (ty) { - if (to != ty) { - /* check type cast? */ - swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); - if (!tc) return SWIG_ERROR; - } - } - return SWIG_OK; -} - -/* ----------------------------------------------------------------------------- - * Create a new pointer object - * ----------------------------------------------------------------------------- */ - -/* - Create a new instance object, whitout calling __init__, and set the - 'this' attribute. -*/ - -SWIGRUNTIME PyObject* -SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this) -{ -#if (PY_VERSION_HEX >= 0x02020000) - PyObject *inst = 0; - PyObject *newraw = data->newraw; - if (newraw) { - inst = PyObject_Call(newraw, data->newargs, NULL); - if (inst) { -#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) - PyObject **dictptr = _PyObject_GetDictPtr(inst); - if (dictptr != NULL) { - PyObject *dict = *dictptr; - if (dict == NULL) { - dict = PyDict_New(); - *dictptr = dict; - PyDict_SetItem(dict, SWIG_This(), swig_this); - } - } -#else - PyObject *key = SWIG_This(); - PyObject_SetAttr(inst, key, swig_this); -#endif - } - } else { - PyObject *dict = PyDict_New(); - PyDict_SetItem(dict, SWIG_This(), swig_this); - inst = PyInstance_NewRaw(data->newargs, dict); - Py_DECREF(dict); - } - return inst; -#else -#if (PY_VERSION_HEX >= 0x02010000) - PyObject *inst; - PyObject *dict = PyDict_New(); - PyDict_SetItem(dict, SWIG_This(), swig_this); - inst = PyInstance_NewRaw(data->newargs, dict); - Py_DECREF(dict); - return (PyObject *) inst; -#else - PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type); - if (inst == NULL) { - return NULL; - } - inst->in_class = (PyClassObject *)data->newargs; - Py_INCREF(inst->in_class); - inst->in_dict = PyDict_New(); - if (inst->in_dict == NULL) { - Py_DECREF(inst); - return NULL; - } -#ifdef Py_TPFLAGS_HAVE_WEAKREFS - inst->in_weakreflist = NULL; -#endif -#ifdef Py_TPFLAGS_GC - PyObject_GC_Init(inst); -#endif - PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this); - return (PyObject *) inst; -#endif -#endif -} - -SWIGRUNTIME void -SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) -{ - PyObject *dict; -#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) - PyObject **dictptr = _PyObject_GetDictPtr(inst); - if (dictptr != NULL) { - dict = *dictptr; - if (dict == NULL) { - dict = PyDict_New(); - *dictptr = dict; - } - PyDict_SetItem(dict, SWIG_This(), swig_this); - return; - } -#endif - dict = PyObject_GetAttrString(inst, "__dict__"); - PyDict_SetItem(dict, SWIG_This(), swig_this); - Py_DECREF(dict); -} - - -SWIGINTERN PyObject * -SWIG_Python_InitShadowInstance(PyObject *args) { - PyObject *obj[2]; - if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) { - return NULL; - } else { - PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]); - if (sthis) { - PySwigObject_append((PyObject*) sthis, obj[1]); - } else { - SWIG_Python_SetSwigThis(obj[0], obj[1]); - } - return SWIG_Py_Void(); - } -} - -/* Create a new pointer object */ - -SWIGRUNTIME PyObject * -SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) { - if (!ptr) { - return SWIG_Py_Void(); - } else { - int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0; - PyObject *robj = PySwigObject_New(ptr, type, own); - PySwigClientData *clientdata = type ? (PySwigClientData *)(type->clientdata) : 0; - if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) { - PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj); - if (inst) { - Py_DECREF(robj); - robj = inst; - } - } - return robj; - } -} - -/* Create a new packed object */ - -SWIGRUNTIMEINLINE PyObject * -SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { - return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void(); -} - -/* -----------------------------------------------------------------------------* - * Get type list - * -----------------------------------------------------------------------------*/ - -#ifdef SWIG_LINK_RUNTIME -void *SWIG_ReturnGlobalTypeList(void *); -#endif - -SWIGRUNTIME swig_module_info * -SWIG_Python_GetModule(void) { - static void *type_pointer = (void *)0; - /* first check if module already created */ - if (!type_pointer) { -#ifdef SWIG_LINK_RUNTIME - type_pointer = SWIG_ReturnGlobalTypeList((void *)0); -#else - type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); - if (PyErr_Occurred()) { - PyErr_Clear(); - type_pointer = (void *)0; - } -#endif - } - return (swig_module_info *) type_pointer; -} - -#if PY_MAJOR_VERSION < 2 -/* PyModule_AddObject function was introduced in Python 2.0. The following function - is copied out of Python/modsupport.c in python version 2.3.4 */ -SWIGINTERN int -PyModule_AddObject(PyObject *m, char *name, PyObject *o) -{ - PyObject *dict; - if (!PyModule_Check(m)) { - PyErr_SetString(PyExc_TypeError, - "PyModule_AddObject() needs module as first arg"); - return SWIG_ERROR; - } - if (!o) { - PyErr_SetString(PyExc_TypeError, - "PyModule_AddObject() needs non-NULL value"); - return SWIG_ERROR; - } - - dict = PyModule_GetDict(m); - if (dict == NULL) { - /* Internal error -- modules must have a dict! */ - PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", - PyModule_GetName(m)); - return SWIG_ERROR; - } - if (PyDict_SetItemString(dict, name, o)) - return SWIG_ERROR; - Py_DECREF(o); - return SWIG_OK; -} -#endif - -SWIGRUNTIME void -SWIG_Python_DestroyModule(void *vptr) -{ - swig_module_info *swig_module = (swig_module_info *) vptr; - swig_type_info **types = swig_module->types; - size_t i; - for (i =0; i < swig_module->size; ++i) { - swig_type_info *ty = types[i]; - if (ty->owndata) { - PySwigClientData *data = (PySwigClientData *) ty->clientdata; - if (data) PySwigClientData_Del(data); - } - } - Py_DECREF(SWIG_This()); -} - -SWIGRUNTIME void -SWIG_Python_SetModule(swig_module_info *swig_module) { - static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */ - - PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - swig_empty_runtime_method_table); - PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); - if (pointer && module) { - PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); - } else { - Py_XDECREF(pointer); - } -} - -/* The python cached type query */ -SWIGRUNTIME PyObject * -SWIG_Python_TypeCache() { - static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New(); - return cache; -} - -SWIGRUNTIME swig_type_info * -SWIG_Python_TypeQuery(const char *type) -{ - PyObject *cache = SWIG_Python_TypeCache(); - PyObject *key = PyString_FromString(type); - PyObject *obj = PyDict_GetItem(cache, key); - swig_type_info *descriptor; - if (obj) { - descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); - } else { - swig_module_info *swig_module = SWIG_Python_GetModule(); - descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); - if (descriptor) { - obj = PyCObject_FromVoidPtr(descriptor, NULL); - PyDict_SetItem(cache, key, obj); +#ifdef SWIG_COBJECT_TYPES + if (!(PyCObject_Check(obj))) { + if (!SWIG_this) + SWIG_this = PyString_FromString("this"); + pyobj = obj; + obj = PyObject_GetAttr(obj,SWIG_this); + newref = 1; + if (!obj) goto type_error; + if (!PyCObject_Check(obj)) { Py_DECREF(obj); + goto type_error; + } + } + *ptr = PyCObject_AsVoidPtr(obj); + c = (char *) PyCObject_GetDesc(obj); + if (newref) Py_DECREF(obj); + goto cobject; +#else + if (!(PyString_Check(obj))) { + if (!SWIG_this) + SWIG_this = PyString_FromString("this"); + pyobj = obj; + obj = PyObject_GetAttr(obj,SWIG_this); + newref = 1; + if (!obj) goto type_error; + if (!PyString_Check(obj)) { + Py_DECREF(obj); + goto type_error; + } + } + c = PyString_AsString(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') { + *ptr = (void *) 0; + if (strcmp(c,"NULL") == 0) { + if (newref) { Py_DECREF(obj); } + return 0; + } else { + if (newref) { Py_DECREF(obj); } + goto type_error; } } - Py_DECREF(key); - return descriptor; -} + c++; + c = SWIG_UnpackData(c,ptr,sizeof(void *)); + if (newref) { Py_DECREF(obj); } +#endif -/* - For backward compatibility only -*/ -#define SWIG_POINTER_EXCEPTION 0 -#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) -#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) +#ifdef SWIG_COBJECT_TYPES +cobject: +#endif -SWIGRUNTIME int -SWIG_Python_AddErrMesg(const char* mesg, int infront) -{ - if (PyErr_Occurred()) { - PyObject *type = 0; - PyObject *value = 0; - PyObject *traceback = 0; - PyErr_Fetch(&type, &value, &traceback); - if (value) { - PyObject *old_str = PyObject_Str(value); - Py_XINCREF(type); - PyErr_Clear(); - if (infront) { - PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str)); - } else { - PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); - } - Py_DECREF(old_str); + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) goto type_error; + *ptr = SWIG_TypeCast(tc,(void*) *ptr); + } + + if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) { + PyObject *zero = PyInt_FromLong(0); + PyObject_SetAttrString(pyobj,(char*)"thisown",zero); + Py_DECREF(zero); + } + return 0; + +type_error: + if (flags & SWIG_POINTER_EXCEPTION) { + if (ty && c) { + char *temp = (char *) malloc(64+strlen(ty->name)+strlen(c)); + sprintf(temp,"Type error. Got %s, expected %s", c, ty->name); + PyErr_SetString(PyExc_TypeError, temp); + free((char *) temp); + } else { + PyErr_SetString(PyExc_TypeError,"Expected a pointer"); } - return 1; - } else { - return 0; } + return -1; } - -SWIGRUNTIME int -SWIG_Python_ArgFail(int argnum) -{ - if (PyErr_Occurred()) { - /* add information about failing argument */ - char mesg[256]; - PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); - return SWIG_Python_AddErrMesg(mesg, 1); - } else { - return 0; - } -} - -SWIGRUNTIMEINLINE const char * -PySwigObject_GetDesc(PyObject *self) -{ - PySwigObject *v = (PySwigObject *)self; - swig_type_info *ty = v ? v->ty : 0; - return ty ? ty->str : (char*)""; -} - -SWIGRUNTIME void -SWIG_Python_TypeError(const char *type, PyObject *obj) -{ - if (type) { -#if defined(SWIG_COBJECT_TYPES) - if (obj && PySwigObject_Check(obj)) { - const char *otype = (const char *) PySwigObject_GetDesc(obj); - if (otype) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received", - type, otype); - return; - } - } else -#endif - { - const char *otype = (obj ? obj->ob_type->tp_name : 0); - if (otype) { - PyObject *str = PyObject_Str(obj); - const char *cstr = str ? PyString_AsString(str) : 0; - if (cstr) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", - type, otype, cstr); - } else { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", - type, otype); - } - Py_XDECREF(str); - return; - } - } - PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); - } else { - PyErr_Format(PyExc_TypeError, "unexpected type is received"); - } -} - /* Convert a pointer value, signal an exception on a type mismatch */ -SWIGRUNTIME void * +SWIGRUNTIME(void *) SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) { void *result; - if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { - PyErr_Clear(); - if (flags & SWIG_POINTER_EXCEPTION) { - SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); - SWIG_Python_ArgFail(argnum); - } - } + SWIG_Python_ConvertPtr(obj, &result, ty, flags | SWIG_POINTER_EXCEPTION); return result; } +/* Convert a packed value value */ +SWIGRUNTIME(int) +SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, int sz, swig_type_info *ty, int flags) { + swig_type_info *tc; + char *c = 0; + + if ((!obj) || (!PyString_Check(obj))) goto type_error; + c = PyString_AsString(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') goto type_error; + c++; + c = SWIG_UnpackData(c,ptr,sz); + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) goto type_error; + } + return 0; + +type_error: + + if (flags) { + if (ty && c) { + char *temp = (char *) malloc(64+strlen(ty->name)+strlen(c)); + sprintf(temp,"Type error. Got %s, expected %s", c, ty->name); + PyErr_SetString(PyExc_TypeError, temp); + free((char *) temp); + } else { + PyErr_SetString(PyExc_TypeError,"Expected a pointer"); + } + } + return -1; +} + +/* Create a new pointer object */ +SWIGRUNTIME(PyObject *) +SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) { + PyObject *robj; + if (!ptr) { + Py_INCREF(Py_None); + return Py_None; + } +#ifdef SWIG_COBJECT_TYPES + robj = PyCObject_FromVoidPtrAndDesc((void *) ptr, (char *) type->name, NULL); +#else + { + char result[1024]; + char *r = result; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + strcpy(r,type->name); + robj = PyString_FromString(result); + } +#endif + if (!robj || (robj == Py_None)) return robj; + if (type->clientdata) { + PyObject *inst; + PyObject *args = Py_BuildValue((char*)"(O)", robj); + Py_DECREF(robj); + inst = PyObject_CallObject((PyObject *) type->clientdata, args); + Py_DECREF(args); + if (inst) { + if (own) { + PyObject *n = PyInt_FromLong(1); + PyObject_SetAttrString(inst,(char*)"thisown",n); + Py_DECREF(n); + } + robj = inst; + } + } + return robj; +} + +SWIGRUNTIME(PyObject *) +SWIG_Python_NewPackedObj(void *ptr, int sz, swig_type_info *type) { + char result[1024]; + char *r = result; + if ((2*sz + 1 + strlen(type->name)) > 1000) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + strcpy(r,type->name); + return PyString_FromString(result); +} + +/* Install Constants */ +SWIGRUNTIME(void) +SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { + int i; + PyObject *obj; + for (i = 0; constants[i].type; i++) { + switch(constants[i].type) { + case SWIG_PY_INT: + obj = PyInt_FromLong(constants[i].lvalue); + break; + case SWIG_PY_FLOAT: + obj = PyFloat_FromDouble(constants[i].dvalue); + break; + case SWIG_PY_STRING: + obj = PyString_FromString((char *) constants[i].pvalue); + break; + case SWIG_PY_POINTER: + obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); + break; + case SWIG_PY_BINARY: + obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); + break; + default: + obj = 0; + break; + } + if (obj) { + PyDict_SetItemString(d,constants[i].name,obj); + Py_DECREF(obj); + } + } +} + +#endif + +/* Contract support */ + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else #ifdef __cplusplus -#if 0 -{ /* cc-mode */ -#endif } #endif - -#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) - -#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else - - - /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_char swig_types[0] -#define SWIGTYPE_p_p_switch_core_session_t swig_types[1] -#define SWIGTYPE_p_switch_channel_t swig_types[2] -#define SWIGTYPE_p_switch_core_session_t swig_types[3] -#define SWIGTYPE_p_switch_file_handle_t swig_types[4] -#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] -#define SWIGTYPE_p_uint32_t swig_types[6] -static swig_type_info *swig_types[8]; -static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; -#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) -#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) +#define SWIGTYPE_p_switch_channel_t swig_types[0] +#define SWIGTYPE_p_switch_file_handle_t swig_types[1] +#define SWIGTYPE_p_switch_core_session_t swig_types[2] +#define SWIGTYPE_p_p_switch_core_session_t swig_types[3] +#define SWIGTYPE_p_uint32_t swig_types[4] +#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] +static swig_type_info *swig_types[7]; /* -------- TYPES TABLE (END) -------- */ -#if (PY_VERSION_HEX <= 0x02000000) -# if !defined(SWIG_PYTHON_CLASSIC) -# error "This python version requires to use swig with the '-classic' option" -# endif -#endif /*----------------------------------------------- @(target):= _freeswitch.so @@ -2468,1874 +700,636 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; #define SWIG_init init_freeswitch #define SWIG_name "_freeswitch" - -#define SWIGVERSION 0x010329 - - -#define SWIG_as_voidptr(a) (void *)((const void *)(a)) -#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) - - -SWIGINTERN swig_type_info* -SWIG_pchar_descriptor() -{ - static int init = 0; - static swig_type_info* info = 0; - if (!init) { - info = SWIG_TypeQuery("_p_char"); - init = 1; - } - return info; -} - - -SWIGINTERN int -SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) -{ - if (PyString_Check(obj)) { - char *cstr; int len; - PyString_AsStringAndSize(obj, &cstr, &len); - if (cptr) { - if (alloc) { - /* - In python the user should not be able to modify the inner - string representation. To warranty that, if you define - SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string - buffer is always returned. - - The default behavior is just to return the pointer value, - so, be careful. - */ -#if defined(SWIG_PYTHON_SAFE_CSTRINGS) - if (*alloc != SWIG_OLDOBJ) -#else - if (*alloc == SWIG_NEWOBJ) -#endif - { - *cptr = (char *)memcpy((char *)malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1)); - *alloc = SWIG_NEWOBJ; - } - else { - *cptr = cstr; - *alloc = SWIG_OLDOBJ; - } - } else { - *cptr = PyString_AsString(obj); - } - } - if (psize) *psize = len + 1; - return SWIG_OK; - } else { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - if (pchar_descriptor) { - void* vptr = 0; - if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { - if (cptr) *cptr = (char *) vptr; - if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0; - if (alloc) *alloc = SWIG_OLDOBJ; - return SWIG_OK; - } - } - } - return SWIG_TypeError; -} - - - - - - #define SWIG_From_long PyInt_FromLong - - -SWIGINTERNINLINE PyObject * -SWIG_From_int (int value) -{ - return SWIG_From_long (value); -} - - -#include -#ifndef LLONG_MIN -# define LLONG_MIN LONG_LONG_MIN -#endif -#ifndef LLONG_MAX -# define LLONG_MAX LONG_LONG_MAX -#endif -#ifndef ULLONG_MAX -# define ULLONG_MAX ULONG_LONG_MAX -#endif - - -SWIGINTERN int -SWIG_AsVal_double (PyObject *obj, double *val) -{ - int res = SWIG_TypeError; - if (PyFloat_Check(obj)) { - if (val) *val = PyFloat_AsDouble(obj); - return SWIG_OK; - } else if (PyInt_Check(obj)) { - if (val) *val = PyInt_AsLong(obj); - return SWIG_OK; - } else if (PyLong_Check(obj)) { - double v = PyLong_AsDouble(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - int dispatch = 0; - double d = PyFloat_AsDouble(obj); - if (!PyErr_Occurred()) { - if (val) *val = d; - return SWIG_AddCast(SWIG_OK); - } else { - PyErr_Clear(); - } - if (!dispatch) { - long v = PyLong_AsLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_AddCast(SWIG_AddCast(SWIG_OK)); - } else { - PyErr_Clear(); - } - } - } -#endif - return res; -} - - -#include - - -#include - - -SWIGINTERNINLINE int -SWIG_CanCastAsInteger(double *d, double min, double max) { - double x = *d; - if ((min <= x && x <= max)) { - double fx = floor(x); - double cx = ceil(x); - double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ - if ((errno == EDOM) || (errno == ERANGE)) { - errno = 0; - } else { - double summ, reps, diff; - if (rd < x) { - diff = x - rd; - } else if (rd > x) { - diff = rd - x; - } else { - return 1; - } - summ = rd + x; - reps = diff/summ; - if (reps < 8*DBL_EPSILON) { - *d = rd; - return 1; - } - } - } - return 0; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) -{ - if (PyInt_Check(obj)) { - long v = PyInt_AsLong(obj); - if (v >= 0) { - if (val) *val = v; - return SWIG_OK; - } else { - return SWIG_OverflowError; - } - } else if (PyLong_Check(obj)) { - unsigned long v = PyLong_AsUnsignedLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - int dispatch = 0; - unsigned long v = PyLong_AsUnsignedLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_AddCast(SWIG_OK); - } else { - PyErr_Clear(); - } - if (!dispatch) { - double d; - int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { - if (val) *val = (unsigned long)(d); - return res; - } - } - } -#endif - return SWIG_TypeError; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) -{ - unsigned long v; - int res = SWIG_AsVal_unsigned_SS_long (obj, &v); - if (SWIG_IsOK(res)) { - if ((v > UINT_MAX)) { - return SWIG_OverflowError; - } else { - if (val) *val = (unsigned int)(v); - } - } - return res; -} - - -SWIGINTERNINLINE PyObject * -SWIG_FromCharPtrAndSize(const char* carray, size_t size) -{ - if (carray) { - if (size > INT_MAX) { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - return pchar_descriptor ? - SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void(); - } else { - return PyString_FromStringAndSize(carray, (int)(size)); - } - } else { - return SWIG_Py_Void(); - } -} - - -SWIGINTERNINLINE PyObject * -SWIG_FromCharPtr(const char *cptr) -{ - return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); -} - +extern void fs_core_set_globals(void); +extern int fs_core_init(char *); +extern int fs_core_destroy(void); +extern int fs_loadable_module_init(void); +extern int fs_loadable_module_shutdown(void); +extern int fs_console_loop(void); +extern void fs_consol_log(char *,char *); +extern void fs_consol_clean(char *); +extern switch_core_session_t *fs_core_session_locate(char *); +extern void fs_channel_answer(switch_core_session_t *); +extern void fs_channel_pre_answer(switch_core_session_t *); +extern void fs_channel_hangup(switch_core_session_t *,char *); +extern void fs_channel_set_variable(switch_core_session_t *,char *,char *); +extern void fs_channel_get_variable(switch_core_session_t *,char *); +extern void fs_channel_set_state(switch_core_session_t *,char *); +extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t); +extern int fs_ivr_play_file2(switch_core_session_t *,char *); +extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int); +extern int fs_switch_ivr_collect_digits_count(switch_core_session_t *,char *,unsigned int,unsigned int,char const *,char *,unsigned int); +extern int fs_switch_ivr_originate(switch_core_session_t *,switch_core_session_t **,char *,uint32_t); +extern int fs_switch_ivr_session_transfer(switch_core_session_t *,char *,char *,char *); +extern int fs_switch_ivr_speak_text(switch_core_session_t *,char *,char *,char *,uint32_t,switch_input_callback_function_t,char *,void *,unsigned int); +extern char *fs_switch_channel_get_variable(switch_channel_t *,char *); +extern int fs_switch_channel_set_variable(switch_channel_t *,char *,char *); #include "switch.h" #ifdef __cplusplus extern "C" { #endif -SWIGINTERN PyObject *_wrap_fs_core_set_globals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - - if (!PyArg_ParseTuple(args,(char *)":fs_core_set_globals")) SWIG_fail; - fs_core_set_globals(); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_core_set_globals(PyObject *self, PyObject *args) { + PyObject *resultobj; + + if(!PyArg_ParseTuple(args,(char *)":fs_core_set_globals")) goto fail; + fs_core_set_globals(); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_core_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - int result; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:fs_core_init",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_init" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (int)fs_core_init(arg1); - resultobj = SWIG_From_int((int)(result)); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; +static PyObject *_wrap_fs_core_init(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 ; + int result; + + if(!PyArg_ParseTuple(args,(char *)"s:fs_core_init",&arg1)) goto fail; + result = (int)fs_core_init(arg1); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_core_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":fs_core_destroy")) SWIG_fail; - result = (int)fs_core_destroy(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_core_destroy(PyObject *self, PyObject *args) { + PyObject *resultobj; + int result; + + if(!PyArg_ParseTuple(args,(char *)":fs_core_destroy")) goto fail; + result = (int)fs_core_destroy(); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_loadable_module_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":fs_loadable_module_init")) SWIG_fail; - result = (int)fs_loadable_module_init(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_loadable_module_init(PyObject *self, PyObject *args) { + PyObject *resultobj; + int result; + + if(!PyArg_ParseTuple(args,(char *)":fs_loadable_module_init")) goto fail; + result = (int)fs_loadable_module_init(); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_loadable_module_shutdown(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":fs_loadable_module_shutdown")) SWIG_fail; - result = (int)fs_loadable_module_shutdown(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_loadable_module_shutdown(PyObject *self, PyObject *args) { + PyObject *resultobj; + int result; + + if(!PyArg_ParseTuple(args,(char *)":fs_loadable_module_shutdown")) goto fail; + result = (int)fs_loadable_module_shutdown(); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_console_loop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":fs_console_loop")) SWIG_fail; - result = (int)fs_console_loop(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_console_loop(PyObject *self, PyObject *args) { + PyObject *resultobj; + int result; + + if(!PyArg_ParseTuple(args,(char *)":fs_console_loop")) goto fail; + result = (int)fs_console_loop(); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_consol_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - char *arg2 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_consol_log",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_log" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_consol_log" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_consol_log(arg1,arg2); - resultobj = SWIG_Py_Void(); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_consol_log(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 ; + char *arg2 ; + + if(!PyArg_ParseTuple(args,(char *)"ss:fs_consol_log",&arg1,&arg2)) goto fail; + fs_consol_log(arg1,arg2); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_consol_clean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:fs_consol_clean",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_clean" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - fs_consol_clean(arg1); - resultobj = SWIG_Py_Void(); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; +static PyObject *_wrap_fs_consol_clean(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 ; + + if(!PyArg_ParseTuple(args,(char *)"s:fs_consol_clean",&arg1)) goto fail; + fs_consol_clean(arg1); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_core_session_locate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - switch_core_session_t *result = 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:fs_core_session_locate",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_session_locate" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (switch_core_session_t *)fs_core_session_locate(arg1); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; +static PyObject *_wrap_fs_core_session_locate(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 ; + switch_core_session_t *result; + + if(!PyArg_ParseTuple(args,(char *)"s:fs_core_session_locate",&arg1)) goto fail; + result = (switch_core_session_t *)fs_core_session_locate(arg1); + + resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_switch_core_session_t, 0); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_answer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:fs_channel_answer",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_answer(arg1); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_channel_answer(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:fs_channel_answer",&obj0)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_answer(arg1); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_pre_answer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:fs_channel_pre_answer",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_pre_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_pre_answer(arg1); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_channel_pre_answer(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:fs_channel_pre_answer",&obj0)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_pre_answer(arg1); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_hangup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_channel_hangup",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_hangup" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_hangup" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_hangup(arg1,arg2); - resultobj = SWIG_Py_Void(); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_channel_hangup(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Os:fs_channel_hangup",&obj0,&arg2)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_hangup(arg1,arg2); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_set_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOO:fs_channel_set_variable",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - fs_channel_set_variable(arg1,arg2,arg3); - resultobj = SWIG_Py_Void(); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return NULL; +static PyObject *_wrap_fs_channel_set_variable(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Oss:fs_channel_set_variable",&obj0,&arg2,&arg3)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_set_variable(arg1,arg2,arg3); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_get_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_channel_get_variable",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_get_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_get_variable(arg1,arg2); - resultobj = SWIG_Py_Void(); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_channel_get_variable(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Os:fs_channel_get_variable",&obj0,&arg2)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_get_variable(arg1,arg2); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_channel_set_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_channel_set_state",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_state" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_state" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_set_state(arg1,arg2); - resultobj = SWIG_Py_Void(); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_channel_set_state(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Os:fs_channel_set_state",&obj0,&arg2)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + fs_channel_set_state(arg1,arg2); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_ivr_play_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:fs_ivr_play_file",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_ivr_play_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); - } - } - res5 = SWIG_ConvertPtr(obj4,SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_ivr_play_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int(obj5, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_ivr_play_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return NULL; +static PyObject *_wrap_fs_ivr_play_file(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + switch_input_callback_function_t *argp4 ; + PyObject * obj0 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OssOOO:fs_ivr_play_file",&obj0,&arg2,&arg3,&obj3,&obj4,&obj5)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj3,(void **) &argp4, SWIGTYPE_p_switch_input_callback_function_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg4 = *argp4; + if ((SWIG_ConvertPtr(obj4,(void **) &arg5, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + arg6 = (unsigned int) PyInt_AsLong(obj5); + if (PyErr_Occurred()) SWIG_fail; + result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_record_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:fs_switch_ivr_record_file",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_record_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_file_handle_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_record_file" "', argument " "2"" of type '" "switch_file_handle_t *""'"); - } - arg2 = (switch_file_handle_t *)(argp2); - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_record_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); - } - } - res5 = SWIG_ConvertPtr(obj4,SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_record_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int(obj5, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_switch_ivr_record_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); - resultobj = SWIG_From_int((int)(result)); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return resultobj; -fail: - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return NULL; +static PyObject *_wrap_fs_switch_ivr_record_file(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + switch_input_callback_function_t *argp4 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOsOOO:fs_switch_ivr_record_file",&obj0,&obj1,&arg3,&obj3,&obj4,&obj5)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_switch_file_handle_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj3,(void **) &argp4, SWIGTYPE_p_switch_input_callback_function_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg4 = *argp4; + if ((SWIG_ConvertPtr(obj4,(void **) &arg5, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + arg6 = (unsigned int) PyInt_AsLong(obj5); + if (PyErr_Occurred()) SWIG_fail; + result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_sleep(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - uint32_t arg2 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_switch_ivr_sleep",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_sleep" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - { - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } else { - arg2 = *((uint32_t *)(argp2)); - } - } - result = (int)fs_switch_ivr_sleep(arg1,arg2); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_switch_ivr_sleep(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + uint32_t arg2 ; + int result; + uint32_t *argp2 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OO:fs_switch_ivr_sleep",&obj0,&obj1)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj1,(void **) &argp2, SWIGTYPE_p_uint32_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg2 = *argp2; + result = (int)fs_switch_ivr_sleep(arg1,arg2); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_ivr_play_file2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_ivr_play_file2",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file2" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file2" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (int)fs_ivr_play_file2(arg1,arg2); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_ivr_play_file2(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Os:fs_ivr_play_file2",&obj0,&arg2)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + result = (int)fs_ivr_play_file2(arg1,arg2); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_collect_digits_callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_input_callback_function_t arg2 ; - void *arg3 = (void *) 0 ; - unsigned int arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - int res3 ; - unsigned int val4 ; - int ecode4 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOO:fs_switch_ivr_collect_digits_callback",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - { - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } else { - arg2 = *((switch_input_callback_function_t *)(argp2)); - } - } - res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3), 0, 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "3"" of type '" "void *""'"); - } - ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; +static PyObject *_wrap_fs_switch_ivr_collect_digits_callback(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_input_callback_function_t arg2 ; + void *arg3 = (void *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + int result; + switch_input_callback_function_t *argp2 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOOOO:fs_switch_ivr_collect_digits_callback",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj1,(void **) &argp2, SWIGTYPE_p_switch_input_callback_function_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg2 = *argp2; + if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + arg4 = (unsigned int) PyInt_AsLong(obj3); + if (PyErr_Occurred()) SWIG_fail; + arg5 = (unsigned int) PyInt_AsLong(obj4); + if (PyErr_Occurred()) SWIG_fail; + result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4,arg5); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_collect_digits_count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - unsigned int arg3 ; - unsigned int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - unsigned int arg7 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - unsigned int val3 ; - int ecode3 = 0 ; - unsigned int val4 ; - int ecode4 = 0 ; - int res5 ; - char *buf5 = 0 ; - int alloc5 = 0 ; - int res6 ; - char *buf6 = 0 ; - int alloc6 = 0 ; - unsigned int val7 ; - int ecode7 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:fs_switch_ivr_collect_digits_count",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "3"" of type '" "unsigned int""'"); - } - arg3 = (unsigned int)(val3); - ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "5"" of type '" "char const *""'"); - } - arg5 = buf5; - res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "6"" of type '" "char *""'"); - } - arg6 = buf6; - ecode7 = SWIG_AsVal_unsigned_SS_int(obj6, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "7"" of type '" "unsigned int""'"); - } - arg7 = (unsigned int)(val7); - result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - return NULL; +static PyObject *_wrap_fs_switch_ivr_collect_digits_count(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + unsigned int arg3 ; + unsigned int arg4 ; + char *arg5 ; + char *arg6 ; + unsigned int arg7 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj6 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OsOOssO:fs_switch_ivr_collect_digits_count",&obj0,&arg2,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + arg3 = (unsigned int) PyInt_AsLong(obj2); + if (PyErr_Occurred()) SWIG_fail; + arg4 = (unsigned int) PyInt_AsLong(obj3); + if (PyErr_Occurred()) SWIG_fail; + arg7 = (unsigned int) PyInt_AsLong(obj6); + if (PyErr_Occurred()) SWIG_fail; + result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_originate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; - char *arg3 = (char *) 0 ; - uint32_t arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOO:fs_switch_ivr_originate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_originate" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_originate" "', argument " "2"" of type '" "switch_core_session_t **""'"); - } - arg2 = (switch_core_session_t **)(argp2); - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_originate" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } else { - arg4 = *((uint32_t *)(argp4)); - } - } - result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); - resultobj = SWIG_From_int((int)(result)); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return resultobj; -fail: - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return NULL; +static PyObject *_wrap_fs_switch_ivr_originate(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; + char *arg3 ; + uint32_t arg4 ; + int result; + uint32_t *argp4 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj3 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOsO:fs_switch_ivr_originate",&obj0,&obj1,&arg3,&obj3)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj3,(void **) &argp4, SWIGTYPE_p_uint32_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg4 = *argp4; + result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_session_transfer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOO:fs_switch_ivr_session_transfer",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_session_transfer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_session_transfer" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_session_transfer" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_session_transfer" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; - result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - return NULL; +static PyObject *_wrap_fs_switch_ivr_session_transfer(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Osss:fs_switch_ivr_session_transfer",&obj0,&arg2,&arg3,&arg4)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_ivr_speak_text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - uint32_t arg5 ; - switch_input_callback_function_t arg6 ; - char *arg7 = (char *) 0 ; - void *arg8 = (void *) 0 ; - unsigned int arg9 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - void *argp5 ; - int res5 = 0 ; - void *argp6 ; - int res6 = 0 ; - int res7 ; - char *buf7 = 0 ; - int alloc7 = 0 ; - int res8 ; - unsigned int val9 ; - int ecode9 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - PyObject * obj7 = 0 ; - PyObject * obj8 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:fs_switch_ivr_speak_text",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_speak_text" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_speak_text" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_speak_text" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_speak_text" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; - { - res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } - if (!argp5) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } else { - arg5 = *((uint32_t *)(argp5)); - } - } - { - res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp6) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } else { - arg6 = *((switch_input_callback_function_t *)(argp6)); - } - } - res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7); - if (!SWIG_IsOK(res7)) { - SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "fs_switch_ivr_speak_text" "', argument " "7"" of type '" "char *""'"); - } - arg7 = buf7; - res8 = SWIG_ConvertPtr(obj7,SWIG_as_voidptrptr(&arg8), 0, 0); - if (!SWIG_IsOK(res8)) { - SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "fs_switch_ivr_speak_text" "', argument " "8"" of type '" "void *""'"); - } - ecode9 = SWIG_AsVal_unsigned_SS_int(obj8, &val9); - if (!SWIG_IsOK(ecode9)) { - SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "fs_switch_ivr_speak_text" "', argument " "9"" of type '" "unsigned int""'"); - } - arg9 = (unsigned int)(val9); - result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - return NULL; +static PyObject *_wrap_fs_switch_ivr_speak_text(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + uint32_t arg5 ; + switch_input_callback_function_t arg6 ; + char *arg7 ; + void *arg8 = (void *) 0 ; + unsigned int arg9 ; + int result; + uint32_t *argp5 ; + switch_input_callback_function_t *argp6 ; + PyObject * obj0 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + PyObject * obj7 = 0 ; + PyObject * obj8 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OsssOOsOO:fs_switch_ivr_speak_text",&obj0,&arg2,&arg3,&arg4,&obj4,&obj5,&arg7,&obj7,&obj8)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + if ((SWIG_ConvertPtr(obj4,(void **) &argp5, SWIGTYPE_p_uint32_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg5 = *argp5; + if ((SWIG_ConvertPtr(obj5,(void **) &argp6, SWIGTYPE_p_switch_input_callback_function_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail; + arg6 = *argp6; + if ((SWIG_ConvertPtr(obj7,(void **) &arg8, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + arg9 = (unsigned int) PyInt_AsLong(obj8); + if (PyErr_Occurred()) SWIG_fail; + result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_channel_get_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *result = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:fs_switch_channel_get_variable",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_get_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (char *)fs_switch_channel_get_variable(arg1,arg2); - resultobj = SWIG_FromCharPtr(result); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return NULL; +static PyObject *_wrap_fs_switch_channel_get_variable(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Os:fs_switch_channel_get_variable",&obj0,&arg2)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_channel_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + result = (char *)fs_switch_channel_get_variable(arg1,arg2); + + resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)""); + return resultobj; + fail: + return NULL; } -SWIGINTERN PyObject *_wrap_fs_switch_channel_set_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOO:fs_switch_channel_set_variable",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_set_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); - resultobj = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return resultobj; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return NULL; +static PyObject *_wrap_fs_switch_channel_set_variable(PyObject *self, PyObject *args) { + PyObject *resultobj; + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *arg3 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"Oss:fs_switch_channel_set_variable",&obj0,&arg2,&arg3)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_channel_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); + + resultobj = PyInt_FromLong((long)result); + return resultobj; + fail: + return NULL; } static PyMethodDef SwigMethods[] = { - { (char *)"fs_core_set_globals", _wrap_fs_core_set_globals, METH_VARARGS, NULL}, - { (char *)"fs_core_init", _wrap_fs_core_init, METH_VARARGS, NULL}, - { (char *)"fs_core_destroy", _wrap_fs_core_destroy, METH_VARARGS, NULL}, - { (char *)"fs_loadable_module_init", _wrap_fs_loadable_module_init, METH_VARARGS, NULL}, - { (char *)"fs_loadable_module_shutdown", _wrap_fs_loadable_module_shutdown, METH_VARARGS, NULL}, - { (char *)"fs_console_loop", _wrap_fs_console_loop, METH_VARARGS, NULL}, - { (char *)"fs_consol_log", _wrap_fs_consol_log, METH_VARARGS, NULL}, - { (char *)"fs_consol_clean", _wrap_fs_consol_clean, METH_VARARGS, NULL}, - { (char *)"fs_core_session_locate", _wrap_fs_core_session_locate, METH_VARARGS, NULL}, - { (char *)"fs_channel_answer", _wrap_fs_channel_answer, METH_VARARGS, NULL}, - { (char *)"fs_channel_pre_answer", _wrap_fs_channel_pre_answer, METH_VARARGS, NULL}, - { (char *)"fs_channel_hangup", _wrap_fs_channel_hangup, METH_VARARGS, NULL}, - { (char *)"fs_channel_set_variable", _wrap_fs_channel_set_variable, METH_VARARGS, NULL}, - { (char *)"fs_channel_get_variable", _wrap_fs_channel_get_variable, METH_VARARGS, NULL}, - { (char *)"fs_channel_set_state", _wrap_fs_channel_set_state, METH_VARARGS, NULL}, - { (char *)"fs_ivr_play_file", _wrap_fs_ivr_play_file, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_record_file", _wrap_fs_switch_ivr_record_file, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_sleep", _wrap_fs_switch_ivr_sleep, METH_VARARGS, NULL}, - { (char *)"fs_ivr_play_file2", _wrap_fs_ivr_play_file2, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_collect_digits_callback", _wrap_fs_switch_ivr_collect_digits_callback, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_collect_digits_count", _wrap_fs_switch_ivr_collect_digits_count, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_originate", _wrap_fs_switch_ivr_originate, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_session_transfer", _wrap_fs_switch_ivr_session_transfer, METH_VARARGS, NULL}, - { (char *)"fs_switch_ivr_speak_text", _wrap_fs_switch_ivr_speak_text, METH_VARARGS, NULL}, - { (char *)"fs_switch_channel_get_variable", _wrap_fs_switch_channel_get_variable, METH_VARARGS, NULL}, - { (char *)"fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable, METH_VARARGS, NULL}, - { NULL, NULL, 0, NULL } + { (char *)"fs_core_set_globals", _wrap_fs_core_set_globals, METH_VARARGS }, + { (char *)"fs_core_init", _wrap_fs_core_init, METH_VARARGS }, + { (char *)"fs_core_destroy", _wrap_fs_core_destroy, METH_VARARGS }, + { (char *)"fs_loadable_module_init", _wrap_fs_loadable_module_init, METH_VARARGS }, + { (char *)"fs_loadable_module_shutdown", _wrap_fs_loadable_module_shutdown, METH_VARARGS }, + { (char *)"fs_console_loop", _wrap_fs_console_loop, METH_VARARGS }, + { (char *)"fs_consol_log", _wrap_fs_consol_log, METH_VARARGS }, + { (char *)"fs_consol_clean", _wrap_fs_consol_clean, METH_VARARGS }, + { (char *)"fs_core_session_locate", _wrap_fs_core_session_locate, METH_VARARGS }, + { (char *)"fs_channel_answer", _wrap_fs_channel_answer, METH_VARARGS }, + { (char *)"fs_channel_pre_answer", _wrap_fs_channel_pre_answer, METH_VARARGS }, + { (char *)"fs_channel_hangup", _wrap_fs_channel_hangup, METH_VARARGS }, + { (char *)"fs_channel_set_variable", _wrap_fs_channel_set_variable, METH_VARARGS }, + { (char *)"fs_channel_get_variable", _wrap_fs_channel_get_variable, METH_VARARGS }, + { (char *)"fs_channel_set_state", _wrap_fs_channel_set_state, METH_VARARGS }, + { (char *)"fs_ivr_play_file", _wrap_fs_ivr_play_file, METH_VARARGS }, + { (char *)"fs_switch_ivr_record_file", _wrap_fs_switch_ivr_record_file, METH_VARARGS }, + { (char *)"fs_switch_ivr_sleep", _wrap_fs_switch_ivr_sleep, METH_VARARGS }, + { (char *)"fs_ivr_play_file2", _wrap_fs_ivr_play_file2, METH_VARARGS }, + { (char *)"fs_switch_ivr_collect_digits_callback", _wrap_fs_switch_ivr_collect_digits_callback, METH_VARARGS }, + { (char *)"fs_switch_ivr_collect_digits_count", _wrap_fs_switch_ivr_collect_digits_count, METH_VARARGS }, + { (char *)"fs_switch_ivr_originate", _wrap_fs_switch_ivr_originate, METH_VARARGS }, + { (char *)"fs_switch_ivr_session_transfer", _wrap_fs_switch_ivr_session_transfer, METH_VARARGS }, + { (char *)"fs_switch_ivr_speak_text", _wrap_fs_switch_ivr_speak_text, METH_VARARGS }, + { (char *)"fs_switch_channel_get_variable", _wrap_fs_switch_channel_get_variable, METH_VARARGS }, + { (char *)"fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable, METH_VARARGS }, + { NULL, NULL } }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ -static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_p_switch_core_session_t = {"_p_p_switch_core_session_t", "switch_core_session_t **", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_core_session_t = {"_p_switch_core_session_t", "switch_core_session_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_file_handle_t = {"_p_switch_file_handle_t", "switch_file_handle_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_input_callback_function_t = {"_p_switch_input_callback_function_t", "switch_input_callback_function_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_uint32_t = {"_p_uint32_t", "uint32_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_channel_t[] = {{"_p_switch_channel_t", 0, "switch_channel_t *", 0},{"_p_switch_channel_t"},{0}}; +static swig_type_info _swigt__p_switch_file_handle_t[] = {{"_p_switch_file_handle_t", 0, "switch_file_handle_t *", 0},{"_p_switch_file_handle_t"},{0}}; +static swig_type_info _swigt__p_switch_core_session_t[] = {{"_p_switch_core_session_t", 0, "switch_core_session_t *", 0},{"_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_p_switch_core_session_t[] = {{"_p_p_switch_core_session_t", 0, "switch_core_session_t **", 0},{"_p_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_uint32_t[] = {{"_p_uint32_t", 0, "uint32_t *", 0},{"_p_uint32_t"},{0}}; +static swig_type_info _swigt__p_switch_input_callback_function_t[] = {{"_p_switch_input_callback_function_t", 0, "switch_input_callback_function_t *", 0},{"_p_switch_input_callback_function_t"},{0}}; -static swig_type_info *swig_type_initial[] = { - &_swigt__p_char, - &_swigt__p_p_switch_core_session_t, - &_swigt__p_switch_channel_t, - &_swigt__p_switch_core_session_t, - &_swigt__p_switch_file_handle_t, - &_swigt__p_switch_input_callback_function_t, - &_swigt__p_uint32_t, -}; - -static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_p_switch_core_session_t[] = { {&_swigt__p_p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_channel_t[] = { {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_core_session_t[] = { {&_swigt__p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_file_handle_t[] = { {&_swigt__p_switch_file_handle_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_input_callback_function_t[] = { {&_swigt__p_switch_input_callback_function_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_uint32_t[] = { {&_swigt__p_uint32_t, 0, 0, 0},{0, 0, 0, 0}}; - -static swig_cast_info *swig_cast_initial[] = { - _swigc__p_char, - _swigc__p_p_switch_core_session_t, - _swigc__p_switch_channel_t, - _swigc__p_switch_core_session_t, - _swigc__p_switch_file_handle_t, - _swigc__p_switch_input_callback_function_t, - _swigc__p_uint32_t, +static swig_type_info *swig_types_initial[] = { +_swigt__p_switch_channel_t, +_swigt__p_switch_file_handle_t, +_swigt__p_switch_core_session_t, +_swigt__p_p_switch_core_session_t, +_swigt__p_uint32_t, +_swigt__p_switch_input_callback_function_t, +0 }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ static swig_const_info swig_const_table[] = { -{0, 0, 0, 0.0, 0, 0}}; +{0}}; #ifdef __cplusplus } #endif -/* ----------------------------------------------------------------------------- - * Type initialization: - * This problem is tough by the requirement that no dynamic - * memory is used. Also, since swig_type_info structures store pointers to - * swig_cast_info structures and swig_cast_info structures store pointers back - * to swig_type_info structures, we need some lookup code at initialization. - * The idea is that swig generates all the structures that are needed. - * The runtime then collects these partially filled structures. - * The SWIG_InitializeModule function takes these initial arrays out of - * swig_module, and does all the lookup, filling in the swig_module.types - * array with the correct data and linking the correct swig_cast_info - * structures together. - * - * The generated swig_type_info structures are assigned staticly to an initial - * array. We just loop though that array, and handle each type individually. - * First we lookup if this type has been already loaded, and if so, use the - * loaded structure instead of the generated one. Then we have to fill in the - * cast linked list. The cast data is initially stored in something like a - * two-dimensional array. Each row corresponds to a type (there are the same - * number of rows as there are in the swig_type_initial array). Each entry in - * a column is one of the swig_cast_info structures for that type. - * The cast_initial array is actually an array of arrays, because each row has - * a variable number of columns. So to actually build the cast linked list, - * we find the array of casts associated with the type, and loop through it - * adding the casts to the list. The one last trick we need to do is making - * sure the type pointer in the swig_cast_info struct is correct. - * - * First off, we lookup the cast->type name to see if it is already loaded. - * There are three cases to handle: - * 1) If the cast->type has already been loaded AND the type we are adding - * casting info to has not been loaded (it is in this module), THEN we - * replace the cast->type pointer with the type pointer that has already - * been loaded. - * 2) If BOTH types (the one we are adding casting info to, and the - * cast->type) are loaded, THEN the cast info has already been loaded by - * the previous module so we just ignore it. - * 3) Finally, if cast->type has not already been loaded, then we add that - * swig_cast_info to the linked list (because the cast->type) pointer will - * be correct. - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* c-mode */ -#endif -#endif - -#if 0 -#define SWIGRUNTIME_DEBUG -#endif - -SWIGRUNTIME void -SWIG_InitializeModule(void *clientdata) { - size_t i; - swig_module_info *module_head; - static int init_run = 0; - - clientdata = clientdata; - - if (init_run) return; - init_run = 1; - - /* Initialize the swig_module */ - swig_module.type_initial = swig_type_initial; - swig_module.cast_initial = swig_cast_initial; - - /* Try and load any already created modules */ - module_head = SWIG_GetModule(clientdata); - if (module_head) { - swig_module.next = module_head->next; - module_head->next = &swig_module; - } else { - /* This is the first module loaded */ - swig_module.next = &swig_module; - SWIG_SetModule(clientdata, &swig_module); - } - - /* Now work on filling in swig_module.types */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: size %d\n", swig_module.size); -#endif - for (i = 0; i < swig_module.size; ++i) { - swig_type_info *type = 0; - swig_type_info *ret; - swig_cast_info *cast; - -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); -#endif - - /* if there is another module already loaded */ - if (swig_module.next != &swig_module) { - type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); - } - if (type) { - /* Overwrite clientdata field */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found type %s\n", type->name); -#endif - if (swig_module.type_initial[i]->clientdata) { - type->clientdata = swig_module.type_initial[i]->clientdata; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); -#endif - } - } else { - type = swig_module.type_initial[i]; - } - - /* Insert casting types */ - cast = swig_module.cast_initial[i]; - while (cast->type) { - /* Don't need to add information already in the list */ - ret = 0; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); -#endif - if (swig_module.next != &swig_module) { - ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); -#ifdef SWIGRUNTIME_DEBUG - if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); -#endif - } - if (ret) { - if (type == swig_module.type_initial[i]) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: skip old type %s\n", ret->name); -#endif - cast->type = ret; - ret = 0; - } else { - /* Check for casting already in the list */ - swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); -#ifdef SWIGRUNTIME_DEBUG - if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); -#endif - if (!ocast) ret = 0; - } - } - - if (!ret) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); -#endif - if (type->cast) { - type->cast->prev = cast; - cast->next = type->cast; - } - type->cast = cast; - } - cast++; - } - /* Set entry in modules->types array equal to the type */ - swig_module.types[i] = type; - } - swig_module.types[i] = 0; - -#ifdef SWIGRUNTIME_DEBUG - printf("**** SWIG_InitializeModule: Cast List ******\n"); - for (i = 0; i < swig_module.size; ++i) { - int j = 0; - swig_cast_info *cast = swig_module.cast_initial[i]; - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); - while (cast->type) { - printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); - cast++; - ++j; - } - printf("---- Total casts: %d\n",j); - } - printf("**** SWIG_InitializeModule: Cast List ******\n"); -#endif -} - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientData(void) { - size_t i; - swig_cast_info *equiv; - static int init_run = 0; - - if (init_run) return; - init_run = 1; - - for (i = 0; i < swig_module.size; i++) { - if (swig_module.types[i]->clientdata) { - equiv = swig_module.types[i]->cast; - while (equiv) { - if (!equiv->converter) { - if (equiv->type && !equiv->type->clientdata) - SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); - } - equiv = equiv->next; - } - } - } -} - -#ifdef __cplusplus -#if 0 -{ - /* c-mode */ -#endif -} -#endif - - - -#ifdef __cplusplus -extern "C" { -#endif - - /* Python-specific SWIG API */ -#define SWIG_newvarlink() SWIG_Python_newvarlink() -#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) -#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) - - /* ----------------------------------------------------------------------------- - * global variable support code. - * ----------------------------------------------------------------------------- */ - - typedef struct swig_globalvar { - char *name; /* Name of global variable */ - PyObject *(*get_attr)(void); /* Return the current value */ - int (*set_attr)(PyObject *); /* Set the value */ - struct swig_globalvar *next; - } swig_globalvar; - - typedef struct swig_varlinkobject { - PyObject_HEAD - swig_globalvar *vars; - } swig_varlinkobject; - - SWIGINTERN PyObject * - swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) { - return PyString_FromString(""); - } - - SWIGINTERN PyObject * - swig_varlink_str(swig_varlinkobject *v) { - PyObject *str = PyString_FromString("("); - swig_globalvar *var; - for (var = v->vars; var; var=var->next) { - PyString_ConcatAndDel(&str,PyString_FromString(var->name)); - if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", ")); - } - PyString_ConcatAndDel(&str,PyString_FromString(")")); - return str; - } - - SWIGINTERN int - swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { - PyObject *str = swig_varlink_str(v); - fprintf(fp,"Swig global variables "); - fprintf(fp,"%s\n", PyString_AsString(str)); - Py_DECREF(str); - return 0; - } - - SWIGINTERN void - swig_varlink_dealloc(swig_varlinkobject *v) { - swig_globalvar *var = v->vars; - while (var) { - swig_globalvar *n = var->next; - free(var->name); - free(var); - var = n; - } - } - - SWIGINTERN PyObject * - swig_varlink_getattr(swig_varlinkobject *v, char *n) { - PyObject *res = NULL; - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - res = (*var->get_attr)(); - break; - } - var = var->next; - } - if (res == NULL && !PyErr_Occurred()) { - PyErr_SetString(PyExc_NameError,"Unknown C global variable"); - } - return res; - } - - SWIGINTERN int - swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { - int res = 1; - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - res = (*var->set_attr)(p); - break; - } - var = var->next; - } - if (res == 1 && !PyErr_Occurred()) { - PyErr_SetString(PyExc_NameError,"Unknown C global variable"); - } - return res; - } - - SWIGINTERN PyTypeObject* - swig_varlink_type(void) { - static char varlink__doc__[] = "Swig var link object"; - static PyTypeObject varlink_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp - = { - PyObject_HEAD_INIT(NULL) - 0, /* Number of items in variable part (ob_size) */ - (char *)"swigvarlink", /* Type name (tp_name) */ - sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */ - 0, /* Itemsize (tp_itemsize) */ - (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */ - (printfunc) swig_varlink_print, /* Print (tp_print) */ - (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */ - (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */ - 0, /* tp_compare */ - (reprfunc) swig_varlink_repr, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - (reprfunc)swig_varlink_str, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - 0, /* tp_flags */ - varlink__doc__, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - varlink_type = tmp; - varlink_type.ob_type = &PyType_Type; - type_init = 1; - } - return &varlink_type; - } - - /* Create a variable linking object for use later */ - SWIGINTERN PyObject * - SWIG_Python_newvarlink(void) { - swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); - if (result) { - result->vars = 0; - } - return ((PyObject*) result); - } - - SWIGINTERN void - SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { - swig_varlinkobject *v = (swig_varlinkobject *) p; - swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); - if (gv) { - size_t size = strlen(name)+1; - gv->name = (char *)malloc(size); - if (gv->name) { - strncpy(gv->name,name,size); - gv->get_attr = get_attr; - gv->set_attr = set_attr; - gv->next = v->vars; - } - } - v->vars = gv; - } - - SWIGINTERN PyObject * - SWIG_globals() { - static PyObject *_SWIG_globals = 0; - if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink(); - return _SWIG_globals; - } - - /* ----------------------------------------------------------------------------- - * constants/methods manipulation - * ----------------------------------------------------------------------------- */ - - /* Install Constants */ - SWIGINTERN void - SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { - PyObject *obj = 0; - size_t i; - for (i = 0; constants[i].type; ++i) { - switch(constants[i].type) { - case SWIG_PY_POINTER: - obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); - break; - case SWIG_PY_BINARY: - obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); - break; - default: - obj = 0; - break; - } - if (obj) { - PyDict_SetItemString(d, constants[i].name, obj); - Py_DECREF(obj); - } - } - } - - /* -----------------------------------------------------------------------------*/ - /* Fix SwigMethods to carry the callback ptrs when needed */ - /* -----------------------------------------------------------------------------*/ - - SWIGINTERN void - SWIG_Python_FixMethods(PyMethodDef *methods, - swig_const_info *const_table, - swig_type_info **types, - swig_type_info **types_initial) { - size_t i; - for (i = 0; methods[i].ml_name; ++i) { - char *c = methods[i].ml_doc; - if (c && (c = strstr(c, "swig_ptr: "))) { - int j; - swig_const_info *ci = 0; - char *name = c + 10; - for (j = 0; const_table[j].type; ++j) { - if (strncmp(const_table[j].name, name, - strlen(const_table[j].name)) == 0) { - ci = &(const_table[j]); - break; - } - } - if (ci) { - size_t shift = (ci->ptype) - types; - swig_type_info *ty = types_initial[shift]; - size_t ldoc = (c - methods[i].ml_doc); - size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; - char *ndoc = (char*)malloc(ldoc + lptr + 10); - if (ndoc) { - char *buff = ndoc; - void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; - if (ptr) { - strncpy(buff, methods[i].ml_doc, ldoc); - buff += ldoc; - strncpy(buff, "swig_ptr: ", 10); - buff += 10; - SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); - methods[i].ml_doc = ndoc; - } - } - } - } - } - } - -#ifdef __cplusplus -} -#endif - -/* -----------------------------------------------------------------------------* - * Partial Init method - * -----------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" #endif -SWIGEXPORT void SWIG_init(void) { - PyObject *m, *d; - - /* Fix SwigMethods to carry the callback ptrs when needed */ - SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); - - m = Py_InitModule((char *) SWIG_name, SwigMethods); - d = PyModule_GetDict(m); - - SWIG_InitializeModule(0); - SWIG_InstallConstants(d,swig_const_table); - - +SWIGEXPORT(void) SWIG_init(void) { + static PyObject *SWIG_globals = 0; + static int typeinit = 0; + PyObject *m, *d; + int i; + if (!SWIG_globals) SWIG_globals = SWIG_newvarlink(); + m = Py_InitModule((char *) SWIG_name, SwigMethods); + d = PyModule_GetDict(m); + + if (!typeinit) { + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); + } + typeinit = 1; + } + SWIG_InstallConstants(d,swig_const_table); + } diff --git a/src/mod/languages/mod_ruby/switch_swig_wrap.c b/src/mod/languages/mod_ruby/switch_swig_wrap.c index 3a97c44e35..f20166182a 100644 --- a/src/mod/languages/mod_ruby/switch_swig_wrap.c +++ b/src/mod/languages/mod_ruby/switch_swig_wrap.c @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.29 + * Version 1.3.21 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -8,788 +8,29 @@ * interface file instead. * ----------------------------------------------------------------------------- */ -#define SWIGRUBY -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* ----------------------------------------------------------------------------- - * swigrun.swg - * - * This file contains generic CAPI SWIG runtime support for pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "2" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -# define SWIG_QUOTE_STRING(x) #x -# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -# define SWIG_TYPE_TABLE_NAME -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the swig runtime code. - In 99.9% of the cases, swig just needs to declare them as 'static'. - - But only do this if is strictly necessary, ie, if you have problems - with your compiler or so. -*/ - -#ifndef SWIGRUNTIME -# define SWIGRUNTIME SWIGINTERN -#endif - -#ifndef SWIGRUNTIMEINLINE -# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -/* Generic buffer size */ -#ifndef SWIG_BUFFER_SIZE -# define SWIG_BUFFER_SIZE 1024 -#endif - -/* Flags for pointer conversions */ -#define SWIG_POINTER_DISOWN 0x1 - -/* Flags for new pointer objects */ -#define SWIG_POINTER_OWN 0x1 - - -/* - Flags/methods for returning states. - - The swig conversion methods, as ConvertPtr, return and integer - that tells if the conversion was successful or not. And if not, - an error code can be returned (see swigerrors.swg for the codes). - - Use the following macros/flags to set or process the returning - states. - - In old swig versions, you usually write code as: - - if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { - // success code - } else { - //fail code - } - - Now you can be more explicit as: - - int res = SWIG_ConvertPtr(obj,vptr,ty.flags); - if (SWIG_IsOK(res)) { - // success code - } else { - // fail code - } - - that seems to be the same, but now you can also do - - Type *ptr; - int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); - if (SWIG_IsOK(res)) { - // success code - if (SWIG_IsNewObj(res) { - ... - delete *ptr; - } else { - ... - } - } else { - // fail code - } - - I.e., now SWIG_ConvertPtr can return new objects and you can - identify the case and take care of the deallocation. Of course that - requires also to SWIG_ConvertPtr to return new result values, as - - int SWIG_ConvertPtr(obj, ptr,...) { - if () { - if () { - *ptr = ; - return SWIG_NEWOBJ; - } else { - *ptr = ; - return SWIG_OLDOBJ; - } - } else { - return SWIG_BADOBJ; - } - } - - Of course, returning the plain '0(success)/-1(fail)' still works, but you can be - more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the - swig errors code. - - Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this - - int food(double) - int fooi(int); - - and you call - - food(1) // cast rank '1' (1 -> 1.0) - fooi(1) // cast rank '0' - - just use the SWIG_AddCast()/SWIG_CheckState() - - - */ -#define SWIG_OK (0) -#define SWIG_ERROR (-1) -#define SWIG_IsOK(r) (r >= 0) -#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) - -/* The CastRankLimit says how many bits are used for the cast rank */ -#define SWIG_CASTRANKLIMIT (1 << 8) -/* The NewMask denotes the object was created (using new/malloc) */ -#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) -/* The TmpMask is for in/out typemaps that use temporal objects */ -#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) -/* Simple returning values */ -#define SWIG_BADOBJ (SWIG_ERROR) -#define SWIG_OLDOBJ (SWIG_OK) -#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) -#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ -#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) -#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) -#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) -#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) -#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) -#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) - - -/* Cast-Rank Mode */ -#if defined(SWIG_CASTRANK_MODE) -# ifndef SWIG_TypeRank -# define SWIG_TypeRank unsigned long -# endif -# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ -# define SWIG_MAXCASTRANK (2) -# endif -# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) -# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) -SWIGINTERNINLINE int SWIG_AddCast(int r) { - return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; -} -SWIGINTERNINLINE int SWIG_CheckState(int r) { - return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; -} -#else /* no cast-rank mode */ -# define SWIG_AddCast -# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) -#endif - - - - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void *(*swig_converter_func)(void *); -typedef struct swig_type_info *(*swig_dycast_func)(void **); - -/* Structure to store inforomation on one type */ -typedef struct swig_type_info { - const char *name; /* mangled name of this type */ - const char *str; /* human readable name of this type */ - swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ - struct swig_cast_info *cast; /* linked list of types that can cast into this type */ - void *clientdata; /* language specific type data */ - int owndata; /* flag if the structure owns the clientdata */ -} swig_type_info; - -/* Structure to store a type and conversion function used for casting */ -typedef struct swig_cast_info { - swig_type_info *type; /* pointer to type that is equivalent to this type */ - swig_converter_func converter; /* function to cast the void pointers */ - struct swig_cast_info *next; /* pointer to next cast in linked list */ - struct swig_cast_info *prev; /* pointer to the previous cast */ -} swig_cast_info; - -/* Structure used to store module information - * Each module generates one structure like this, and the runtime collects - * all of these structures and stores them in a circularly linked list.*/ -typedef struct swig_module_info { - swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ - size_t size; /* Number of types in this module */ - struct swig_module_info *next; /* Pointer to next element in circularly linked list */ - swig_type_info **type_initial; /* Array of initially generated type structures */ - swig_cast_info **cast_initial; /* Array of initially generated casting structures */ - void *clientdata; /* Language specific module data */ -} swig_module_info; - -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. - - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; - } - return (l1 - f1) - (l2 - f2); -} - -/* - Check type equivalence in a name list like ||... - Return 0 if not equal, 1 if equal -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; - } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; - } - return equiv; -} - -/* - Check type equivalence in a name list like ||... - Return 0 if equal, -1 if nb < tb, 1 if nb > tb -*/ -SWIGRUNTIME int -SWIG_TypeCompare(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; - } - equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; - if (*ne) ++ne; - } - return equiv; -} - - -/* think of this as a c++ template<> or a scheme macro */ -#define SWIG_TypeCheck_Template(comparison, ty) \ - if (ty) { \ - swig_cast_info *iter = ty->cast; \ - while (iter) { \ - if (comparison) { \ - if (iter == ty->cast) return iter; \ - /* Move iter to the top of the linked list */ \ - iter->prev->next = iter->next; \ - if (iter->next) \ - iter->next->prev = iter->prev; \ - iter->next = ty->cast; \ - iter->prev = 0; \ - if (ty->cast) ty->cast->prev = iter; \ - ty->cast = iter; \ - return iter; \ - } \ - iter = iter->next; \ - } \ - } \ - return 0 - -/* - Check the typename -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); -} - -/* Same as previous function, except strcmp is replaced with a pointer comparison */ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { - SWIG_TypeCheck_Template(iter->type == from, into); -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_cast_info *ty, void *ptr) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { - swig_type_info *lastty = ty; - if (!ty || !ty->dcast) return ty; - while (ty && (ty->dcast)) { - ty = (*ty->dcast)(ptr); - if (ty) lastty = ty; - } - return lastty; -} - -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * -SWIG_TypeName(const swig_type_info *ty) { - return ty->name; -} - -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (!type) return NULL; - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; - } - else - return type->name; -} - -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void -SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_cast_info *cast = ti->cast; - /* if (ti->clientdata == clientdata) return; */ - ti->clientdata = clientdata; - - while (cast) { - if (!cast->converter) { - swig_type_info *tc = cast->type; - if (!tc->clientdata) { - SWIG_TypeClientData(tc, clientdata); - } - } - cast = cast->next; - } -} -SWIGRUNTIME void -SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientData(ti, clientdata); - ti->owndata = 1; -} - -/* - Search for a swig_type_info structure only by mangled name - Search is a O(log #types) - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_MangledTypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - swig_module_info *iter = start; - do { - if (iter->size) { - register size_t l = 0; - register size_t r = iter->size - 1; - do { - /* since l+r >= 0, we can (>> 1) instead (/ 2) */ - register size_t i = (l + r) >> 1; - const char *iname = iter->types[i]->name; - if (iname) { - register int compare = strcmp(name, iname); - if (compare == 0) { - return iter->types[i]; - } else if (compare < 0) { - if (i) { - r = i - 1; - } else { - break; - } - } else if (compare > 0) { - l = i + 1; - } - } else { - break; /* should never happen */ - } - } while (l <= r); - } - iter = iter->next; - } while (iter != end); - return 0; -} - -/* - Search for a swig_type_info structure for either a mangled name or a human readable name. - It first searches the mangled names of the types, which is a O(log #types) - If a type is not found it then searches the human readable names, which is O(#types). - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - /* STEP 1: Search the name field using binary search */ - swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); - if (ret) { - return ret; - } else { - /* STEP 2: If the type hasn't been found, do a complete search - of the str field (the human readable name) */ - swig_module_info *iter = start; - do { - register size_t i = 0; - for (; i < iter->size; ++i) { - if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) - return iter->types[i]; - } - iter = iter->next; - } while (iter != end); - } - - /* neither found a match */ - return 0; -} - -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static const char hex[17] = "0123456789abcdef"; - register const unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register unsigned char uu = *u; - *(c++) = hex[(uu & 0xf0) >> 4]; - *(c++) = hex[uu & 0xf]; - } - return c; -} - -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - register unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register char d = *(c++); - register unsigned char uu; - if ((d >= '0') && (d <= '9')) - uu = ((d - '0') << 4); - else if ((d >= 'a') && (d <= 'f')) - uu = ((d - ('a'-10)) << 4); - else - return (char *) 0; - d = *(c++); - if ((d >= '0') && (d <= '9')) - uu |= (d - '0'); - else if ((d >= 'a') && (d <= 'f')) - uu |= (d - ('a'-10)); - else - return (char *) 0; - *u = uu; - } - return c; -} - -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} - -#ifdef __cplusplus -} -#endif - -/* Errors in SWIG */ -#define SWIG_UnknownError -1 -#define SWIG_IOError -2 -#define SWIG_RuntimeError -3 -#define SWIG_IndexError -4 -#define SWIG_TypeError -5 -#define SWIG_DivisionByZero -6 -#define SWIG_OverflowError -7 -#define SWIG_SyntaxError -8 -#define SWIG_ValueError -9 -#define SWIG_SystemError -10 -#define SWIG_AttributeError -11 -#define SWIG_MemoryError -12 -#define SWIG_NullReferenceError -13 - - - -#include +/* ruby.swg */ +/* Implementation : RUBY */ +#define SWIGRUBY 1 + +#include "ruby.h" + +/* Flags for pointer conversion */ +#define SWIG_POINTER_EXCEPTION 0x1 +#define SWIG_POINTER_DISOWN 0x2 + +#define NUM2USHRT(n) (\ + (0 <= NUM2UINT(n) && NUM2UINT(n) <= USHRT_MAX)\ + ? (unsigned short) NUM2UINT(n) \ + : (rb_raise(rb_eArgError, "integer %d out of range of `unsigned short'",\ + NUM2UINT(n)), (short)0)\ +) + +#define NUM2SHRT(n) (\ + (SHRT_MIN <= NUM2INT(n) && NUM2INT(n) <= SHRT_MAX)\ + ? (short)NUM2INT(n)\ + : (rb_raise(rb_eArgError, "integer %d out of range of `short'",\ + NUM2INT(n)), (short)0)\ +) /* Ruby 1.7 defines NUM2LL(), LL2NUM() and ULL2NUM() macros */ #ifndef NUM2LL @@ -827,16 +68,13 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { #ifdef __cplusplus # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */ -# define PROTECTFUNC(f) ((VALUE (*)()) f) # define VALUEFUNC(f) ((VALUE (*)()) f) # define VOIDFUNC(f) ((void (*)()) f) # else # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */ -# define PROTECTFUNC(f) ((VALUE (*)()) f) # define VALUEFUNC(f) ((VALUE (*)()) f) # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f) -# else /* These definitions should work for Ruby 1.7+ */ -# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f) +# else /* These definitions should work for Ruby 1.7 */ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f) # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f) # endif @@ -846,6 +84,13 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { # define VOIDFUNC(f) (f) #endif +typedef struct { + VALUE klass; + VALUE mImpl; + void (*mark)(void *); + void (*destroy)(void *); +} swig_class; + /* Don't use for expressions have side effect */ #ifndef RB_STRING_VALUE #define RB_STRING_VALUE(s) (TYPE(s) == T_STRING ? (s) : (*(volatile VALUE *)&(s) = rb_str_to_str(s))) @@ -871,564 +116,441 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { #define rb_undef_alloc_func(klass) rb_undef_method(CLASS_OF((klass)), "new") #endif +/* Contract support */ -/* ----------------------------------------------------------------------------- - * error manipulation - * ----------------------------------------------------------------------------- */ +#define SWIG_contract_assert(expr, msg) if (!(expr)) { rb_raise(rb_eRuntimeError, (char *) msg ); } else -/* Define some additional error types */ -#define SWIG_ObjectPreviouslyDeletedError -100 - - -/* Define custom exceptions for errors that do not map to existing Ruby - exceptions. Note this only works for C++ since a global cannot be - initialized by a funtion in C. For C, fallback to rb_eRuntimeError.*/ - -SWIGINTERN VALUE -getNullReferenceError(void) { - static int init = 0; - static VALUE rb_eNullReferenceError ; - if (!init) { - init = 1; - rb_eNullReferenceError = rb_define_class("NullReferenceError", rb_eRuntimeError); - } - return rb_eNullReferenceError; -} - -SWIGINTERN VALUE -getObjectPreviouslyDeletedError(void) { - static int init = 0; - static VALUE rb_eObjectPreviouslyDeleted ; - if (!init) { - init = 1; - rb_eObjectPreviouslyDeleted = rb_define_class("ObjectPreviouslyDeleted", rb_eRuntimeError); - } - return rb_eObjectPreviouslyDeleted; -} - - -SWIGINTERN VALUE -SWIG_Ruby_ErrorType(int SWIG_code) { - VALUE type; - switch (SWIG_code) { - case SWIG_MemoryError: - type = rb_eNoMemError; - break; - case SWIG_IOError: - type = rb_eIOError; - break; - case SWIG_RuntimeError: - type = rb_eRuntimeError; - break; - case SWIG_IndexError: - type = rb_eIndexError; - break; - case SWIG_TypeError: - type = rb_eTypeError; - break; - case SWIG_DivisionByZero: - type = rb_eZeroDivError; - break; - case SWIG_OverflowError: - type = rb_eRangeError; - break; - case SWIG_SyntaxError: - type = rb_eSyntaxError; - break; - case SWIG_ValueError: - type = rb_eArgError; - break; - case SWIG_SystemError: - type = rb_eFatal; - break; - case SWIG_AttributeError: - type = rb_eRuntimeError; - break; - case SWIG_NullReferenceError: - type = getNullReferenceError(); - break; - case SWIG_ObjectPreviouslyDeletedError: - type = getObjectPreviouslyDeletedError(); - break; - case SWIG_UnknownError: - type = rb_eRuntimeError; - break; - default: - type = rb_eRuntimeError; - } - return type; -} - - - - -/* ----------------------------------------------------------------------------- - * See the LICENSE file for information on copyright, usage and redistribution - * of SWIG, and the README file for authors - http://www.swig.org/release.html. +/*************************************************************** -*- c -*- + * ruby/precommon.swg * - * rubytracking.swg + * Rename all exported symbols from common.swg, to avoid symbol + * clashes if multiple interpreters are included * - * This file contains support for tracking mappings from - * Ruby objects to C++ objects. This functionality is needed - * to implement mark functions for Ruby's mark and sweep - * garbage collector. - * ----------------------------------------------------------------------------- */ + ************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif +#define SWIG_TypeRegister SWIG_Ruby_TypeRegister +#define SWIG_TypeCheck SWIG_Ruby_TypeCheck +#define SWIG_TypeCast SWIG_Ruby_TypeCast +#define SWIG_TypeDynamicCast SWIG_Ruby_TypeDynamicCast +#define SWIG_TypeName SWIG_Ruby_TypeName +#define SWIG_TypeQuery SWIG_Ruby_TypeQuery +#define SWIG_TypeClientData SWIG_Ruby_TypeClientData +#define SWIG_PackData SWIG_Ruby_PackData +#define SWIG_UnpackData SWIG_Ruby_UnpackData +/* Also rename all exported symbols from rubydef.swig */ -/* Global Ruby hash table to store Trackings from C/C++ - structs to Ruby Objects. */ -static VALUE swig_ruby_trackings; - -/* Global variable that stores a reference to the ruby - hash table delete function. */ -static ID swig_ruby_hash_delete = 0; - -/* Setup a Ruby hash table to store Trackings */ -SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) { - /* Create a ruby hash table to store Trackings from C++ - objects to Ruby objects. Also make sure to tell - the garabage collector about the hash table. */ - swig_ruby_trackings = rb_hash_new(); - rb_gc_register_address(&swig_ruby_trackings); - - /* Now store a reference to the hash table delete function - so that we only have to look it up once.*/ - swig_ruby_hash_delete = rb_intern("delete"); -} - -/* Get a Ruby number to reference a pointer */ -SWIGRUNTIME VALUE SWIG_RubyPtrToReference(void* ptr) { - /* We cast the pointer to an unsigned long - and then store a reference to it using - a Ruby number object. */ - - /* Convert the pointer to a Ruby number */ - unsigned long value = (unsigned long) ptr; - return LONG2NUM(value); -} - -/* Get a Ruby number to reference an object */ -SWIGRUNTIME VALUE SWIG_RubyObjectToReference(VALUE object) { - /* We cast the object to an unsigned long - and then store a reference to it using - a Ruby number object. */ - - /* Convert the Object to a Ruby number */ - unsigned long value = (unsigned long) object; - return LONG2NUM(value); -} - -/* Get a Ruby object from a previously stored reference */ -SWIGRUNTIME VALUE SWIG_RubyReferenceToObject(VALUE reference) { - /* The provided Ruby number object is a reference - to the Ruby object we want.*/ - - /* First convert the Ruby number to a C number */ - unsigned long value = NUM2LONG(reference); - return (VALUE) value; -} - -/* Add a Tracking from a C/C++ struct to a Ruby object */ -SWIGRUNTIME void SWIG_RubyAddTracking(void* ptr, VALUE object) { - /* In a Ruby hash table we store the pointer and - the associated Ruby object. The trick here is - that we cannot store the Ruby object directly - if - we do then it cannot be garbage collected. So - instead we typecast it as a unsigned long and - convert it to a Ruby number object.*/ - - /* Get a reference to the pointer as a Ruby number */ - VALUE key = SWIG_RubyPtrToReference(ptr); - - /* Get a reference to the Ruby object as a Ruby number */ - VALUE value = SWIG_RubyObjectToReference(object); - - /* Store the mapping to the global hash table. */ - rb_hash_aset(swig_ruby_trackings, key, value); -} - -/* Get the Ruby object that owns the specified C/C++ struct */ -SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) { - /* Get a reference to the pointer as a Ruby number */ - VALUE key = SWIG_RubyPtrToReference(ptr); - - /* Now lookup the value stored in the global hash table */ - VALUE value = rb_hash_aref(swig_ruby_trackings, key); - - if (value == Qnil) { - /* No object exists - return nil. */ - return Qnil; - } - else { - /* Convert this value to Ruby object */ - return SWIG_RubyReferenceToObject(value); - } -} - -/* Remove a Tracking from a C/C++ struct to a Ruby object. It - is very important to remove objects once they are destroyed - since the same memory address may be reused later to create - a new object. */ -SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) { - /* Get a reference to the pointer as a Ruby number */ - VALUE key = SWIG_RubyPtrToReference(ptr); - - /* Delete the object from the hash table by calling Ruby's - do this we need to call the Hash.delete method.*/ - rb_funcall(swig_ruby_trackings, swig_ruby_hash_delete, 1, key); -} - -/* This is a helper method that unlinks a Ruby object from its - underlying C++ object. This is needed if the lifetime of the - Ruby object is longer than the C++ object */ -SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) { - VALUE object = SWIG_RubyInstanceFor(ptr); - - if (object != Qnil) { - DATA_PTR(object) = 0; - } -} - - -#ifdef __cplusplus -} -#endif - -/* ----------------------------------------------------------------------------- - * Ruby API portion that goes into the runtime - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#endif - -SWIGINTERN VALUE -SWIG_Ruby_AppendOutput(VALUE target, VALUE o) { - if (NIL_P(target)) { - target = o; - } else { - if (TYPE(target) != T_ARRAY) { - VALUE o2 = target; - target = rb_ary_new(); - rb_ary_push(target, o2); - } - rb_ary_push(target, o); - } - return target; -} - -#ifdef __cplusplus -} -#endif - - -/* ----------------------------------------------------------------------------- - * See the LICENSE file for information on copyright, usage and redistribution - * of SWIG, and the README file for authors - http://www.swig.org/release.html. - * - * rubyrun.swg - * - * This file contains the runtime support for Ruby modules - * and includes code for managing global variables and pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* For backward compatibility only */ -#define SWIG_POINTER_EXCEPTION 0 - -/* for raw pointers */ -#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, 0) -#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, own) -#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Ruby_NewPointerObj(ptr, type, flags) -#define SWIG_AcquirePtr(ptr, own) SWIG_Ruby_AcquirePtr(ptr, own) -#define swig_owntype ruby_owntype - -/* for raw packed data */ -#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags) -#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Ruby_NewPackedObj(ptr, sz, type) - -/* for class or struct pointers */ -#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) -#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) - -/* for C or C++ function pointers */ -#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) -#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) - -/* for C++ member pointers, ie, member methods */ -#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Ruby_NewPackedObj(ptr, sz, type) - - -/* Runtime API */ - -#define SWIG_GetModule(clientdata) SWIG_Ruby_GetModule() -#define SWIG_SetModule(clientdata, pointer) SWIG_Ruby_SetModule(pointer) - - -/* Error manipulation */ - -#define SWIG_ErrorType(code) SWIG_Ruby_ErrorType(code) -#define SWIG_Error(code, msg) rb_raise(SWIG_Ruby_ErrorType(code), msg) -#define SWIG_fail goto fail - +/* Common SWIG API */ +#define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Ruby_ConvertPtr(obj, pp, type, flags) +#define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Ruby_NewPointerObj(p, type, flags) +#define SWIG_MustGetPtr(p, type, argnum, flags) \ + SWIG_Ruby_MustGetPtr(p, type, argnum, flags) /* Ruby-specific SWIG API */ -#define SWIG_InitRuntime() SWIG_Ruby_InitRuntime() -#define SWIG_define_class(ty) SWIG_Ruby_define_class(ty) -#define SWIG_NewClassInstance(value, ty) SWIG_Ruby_NewClassInstance(value, ty) -#define SWIG_MangleStr(value) SWIG_Ruby_MangleStr(value) -#define SWIG_CheckConvert(value, ty) SWIG_Ruby_CheckConvert(value, ty) +#define SWIG_InitRuntime() \ + SWIG_Ruby_InitRuntime() +#define SWIG_define_class(ty) \ + SWIG_Ruby_define_class(ty) +#define SWIG_NewClassInstance(value, ty) \ + SWIG_Ruby_NewClassInstance(value, ty) +#define SWIG_MangleStr(value) \ + SWIG_Ruby_MangleStr(value) +#define SWIG_CheckConvert(value, ty) \ + SWIG_Ruby_CheckConvert(value, ty) +#define SWIG_NewPackedObj(ptr, sz, ty) \ + SWIG_Ruby_NewPackedObj(ptr, sz, ty) +#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \ + SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags) -/* ----------------------------------------------------------------------------- - * pointers/data manipulation - * ----------------------------------------------------------------------------- */ +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ + +#include + +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(_MSC_VER) || defined(__GNUC__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) extern a +# else +# define SWIGEXPORT(a) __declspec(dllexport) a +# define SWIGIMPORT(a) extern a +# endif +# else +# if defined(__BORLANDC__) +# define SWIGEXPORT(a) a _export +# define SWIGIMPORT(a) a _export +# else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +# endif +# endif +#else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +#endif + +#ifdef SWIG_GLOBAL +# define SWIGRUNTIME(a) SWIGEXPORT(a) +#else +# define SWIGRUNTIME(a) static a +#endif #ifdef __cplusplus extern "C" { -#if 0 -} /* cc-mode */ -#endif #endif -typedef struct { - VALUE klass; - VALUE mImpl; - void (*mark)(void *); - void (*destroy)(void *); - int trackObjects; -} swig_class; +typedef void *(*swig_converter_func)(void *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); +typedef struct swig_type_info { + const char *name; + swig_converter_func converter; + const char *str; + void *clientdata; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; +} swig_type_info; + +#ifdef SWIG_NOINCLUDE + +SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); +SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); +SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); +SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); +SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); +SWIGIMPORT(char *) SWIG_PackData(char *, void *, int); +SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int); + +#else + +static swig_type_info *swig_type_list = 0; + +/* Register a type mapping with the type-checking */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeRegister(swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = swig_type_list; + while (tc) { + if (strcmp(tc->name, ti->name) == 0) { + /* Already exists in the table. Just add additional types to the list */ + if (tc->clientdata) ti->clientdata = tc->clientdata; + head = tc; + next = tc->next; + goto l1; + } + tc = tc->prev; + } + head = ti; + next = 0; + + /* Place in list */ + ti->prev = swig_type_list; + swig_type_list = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + if (next) next->prev = head; + head->next = next; + return ret; +} + +/* Check the typename */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeCheck(char *c, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; + } + s = s->next; + } while (s && (s != ty->next)); + return 0; +} + +/* Cast a pointer up an inheritance hierarchy */ +SWIGRUNTIME(void *) +SWIG_TypeCast(swig_type_info *ty, void *ptr) { + if ((!ty) || (!ty->converter)) return ptr; + return (*ty->converter)(ptr); +} + +/* Dynamic pointer casting. Down an inheritance hierarchy */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* Return the name associated with this type */ +SWIGRUNTIME(const char *) +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* Search for a swig_type_info structure */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeQuery(const char *name) { + swig_type_info *ty = swig_type_list; + while (ty) { + if (ty->str && (strcmp(name,ty->str) == 0)) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; + } + return 0; +} + +/* Set the clientdata field for a type */ +SWIGRUNTIME(void) +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_type_info *tc, *equiv; + if (ti->clientdata == clientdata) return; + ti->clientdata = clientdata; + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = swig_type_list; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientData(tc,clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} + +/* Pack binary data into a string */ +SWIGRUNTIME(char *) +SWIG_PackData(char *c, void *ptr, int sz) { + static char hex[17] = "0123456789abcdef"; + int i; + unsigned char *u = (unsigned char *) ptr; + register unsigned char uu; + for (i = 0; i < sz; i++,u++) { + uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* Unpack binary data from a string */ +SWIGRUNTIME(char *) +SWIG_UnpackData(char *c, void *ptr, int sz) { + register unsigned char uu = 0; + register int d; + unsigned char *u = (unsigned char *) ptr; + int i; + for (i = 0; i < sz; i++, u++) { + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + *u = uu; + } + return c; +} + +#endif + +#ifdef __cplusplus +} +#endif + +/* rubydef.swg */ +#ifdef __cplusplus +extern "C" { +#endif static VALUE _mSWIG = Qnil; static VALUE _cSWIG_Pointer = Qnil; -static VALUE swig_runtime_data_type_pointer = Qnil; - -SWIGRUNTIME VALUE -getExceptionClass(void) { - static int init = 0; - static VALUE rubyExceptionClass ; - if (!init) { - init = 1; - rubyExceptionClass = rb_const_get(_mSWIG, rb_intern("Exception")); - } - return rubyExceptionClass; -} - -/* This code checks to see if the Ruby object being raised as part - of an exception inherits from the Ruby class Exception. If so, - the object is simply returned. If not, then a new Ruby exception - object is created and that will be returned to Ruby.*/ -SWIGRUNTIME VALUE -SWIG_Ruby_ExceptionType(swig_type_info *desc, VALUE obj) { - VALUE exceptionClass = getExceptionClass(); - if (rb_obj_is_kind_of(obj, exceptionClass)) { - return obj; - } else { - return rb_exc_new3(rb_eRuntimeError, rb_obj_as_string(obj)); - } -} /* Initialize Ruby runtime support */ -SWIGRUNTIME void +SWIGRUNTIME(void) SWIG_Ruby_InitRuntime(void) { - if (_mSWIG == Qnil) { - _mSWIG = rb_define_module("SWIG"); - } + if (_mSWIG == Qnil) { + _mSWIG = rb_define_module("SWIG"); + } } /* Define Ruby class for C type */ -SWIGRUNTIME void +SWIGRUNTIME(void) SWIG_Ruby_define_class(swig_type_info *type) { - VALUE klass; - char *klass_name = (char *) malloc(4 + strlen(type->name) + 1); - sprintf(klass_name, "TYPE%s", type->name); - if (NIL_P(_cSWIG_Pointer)) { - _cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject); - rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new"); - } - klass = rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer); - free((void *) klass_name); + VALUE klass; + char *klass_name = (char *) malloc(4 + strlen(type->name) + 1); + sprintf(klass_name, "TYPE%s", type->name); + if (NIL_P(_cSWIG_Pointer)) { + _cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject); + rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new"); + } + klass = rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer); + free((void *) klass_name); } /* Create a new pointer object */ -SWIGRUNTIME VALUE -SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags) +SWIGRUNTIME(VALUE) +SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int own) { - int own = flags & SWIG_POINTER_OWN; - - char *klass_name; - swig_class *sklass; - VALUE klass; - VALUE obj; - - if (!ptr) - return Qnil; - - if (type->clientdata) { - sklass = (swig_class *) type->clientdata; - - /* Are we tracking this class and have we already returned this Ruby object? */ - if (sklass->trackObjects) { - obj = SWIG_RubyInstanceFor(ptr); - - /* Check the object's type and make sure it has the correct type. - It might not in cases where methods do things like - downcast methods. */ - if (obj != Qnil) { - VALUE value = rb_iv_get(obj, "__swigtype__"); - char* type_name = RSTRING(value)->ptr; - - if (strcmp(type->name, type_name) == 0) { - return obj; - } - } + char *klass_name; + swig_class *sklass; + VALUE klass; + VALUE obj; + + if (!ptr) + return Qnil; + + if (type->clientdata) { + sklass = (swig_class *) type->clientdata; + obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark), (own ? VOIDFUNC(sklass->destroy) : 0), ptr); + } else { + klass_name = (char *) malloc(4 + strlen(type->name) + 1); + sprintf(klass_name, "TYPE%s", type->name); + klass = rb_const_get(_mSWIG, rb_intern(klass_name)); + free((void *) klass_name); + obj = Data_Wrap_Struct(klass, 0, 0, ptr); } - - /* Create a new Ruby object */ - obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark), (own ? VOIDFUNC(sklass->destroy) : 0), ptr); - - /* If tracking is on for this class then track this object. */ - if (sklass->trackObjects) { - SWIG_RubyAddTracking(ptr, obj); - } - } else { - klass_name = (char *) malloc(4 + strlen(type->name) + 1); - sprintf(klass_name, "TYPE%s", type->name); - klass = rb_const_get(_mSWIG, rb_intern(klass_name)); - free((void *) klass_name); - obj = Data_Wrap_Struct(klass, 0, 0, ptr); - } - rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name)); - - return obj; + rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name)); + return obj; } /* Create a new class instance (always owned) */ -SWIGRUNTIME VALUE +SWIGRUNTIME(VALUE) SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type) { - VALUE obj; - swig_class *sklass = (swig_class *) type->clientdata; - obj = Data_Wrap_Struct(klass, VOIDFUNC(sklass->mark), VOIDFUNC(sklass->destroy), 0); - rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name)); - return obj; + VALUE obj; + swig_class *sklass = (swig_class *) type->clientdata; + obj = Data_Wrap_Struct(klass, VOIDFUNC(sklass->mark), VOIDFUNC(sklass->destroy), 0); + rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name)); + return obj; } /* Get type mangle from class name */ -SWIGRUNTIMEINLINE char * +SWIGRUNTIME(char *) SWIG_Ruby_MangleStr(VALUE obj) { VALUE stype = rb_iv_get(obj, "__swigtype__"); return StringValuePtr(stype); } -/* Acquire a pointer value */ -typedef void (*ruby_owntype)(void*); - -SWIGRUNTIME ruby_owntype -SWIG_Ruby_AcquirePtr(VALUE obj, ruby_owntype own) { - if (obj) { - ruby_owntype oldown = RDATA(obj)->dfree; - RDATA(obj)->dfree = own; - return oldown; - } else { - return 0; - } -} - /* Convert a pointer value */ -SWIGRUNTIME int -SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, ruby_owntype *own) +SWIGRUNTIME(int) +SWIG_Ruby_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags) { char *c; - swig_cast_info *tc; - void *vptr = 0; + swig_type_info *tc; /* Grab the pointer */ if (NIL_P(obj)) { *ptr = 0; - return SWIG_OK; + return 0; } else { - if (TYPE(obj) != T_DATA) { - return SWIG_ERROR; - } - Data_Get_Struct(obj, void, vptr); + Data_Get_Struct(obj, void, *ptr); } - if (own) *own = RDATA(obj)->dfree; - - /* Check to see if the input object is giving up ownership - of the underlying C struct or C++ object. If so then we - need to reset the destructor since the Ruby object no - longer owns the underlying C++ object.*/ - if (flags & SWIG_POINTER_DISOWN) { - /* Is tracking on for this class? */ - int track = 0; - if (ty && ty->clientdata) { - swig_class *sklass = (swig_class *) ty->clientdata; - track = sklass->trackObjects; - } - - if (track) { - /* We are tracking objects for this class. Thus we change the destructor - * to SWIG_RubyRemoveTracking. This allows us to - * remove the mapping from the C++ to Ruby object - * when the Ruby object is garbage collected. If we don't - * do this, then it is possible we will return a reference - * to a Ruby object that no longer exists thereby crashing Ruby. */ - RDATA(obj)->dfree = SWIG_RubyRemoveTracking; - } else { - RDATA(obj)->dfree = 0; - } - } - /* Do type-checking if type info was provided */ if (ty) { if (ty->clientdata) { - if (rb_obj_is_kind_of(obj, ((swig_class *) (ty->clientdata))->klass)) { - if (vptr == 0) { - /* The object has already been deleted */ - return SWIG_ObjectPreviouslyDeletedError; + if (rb_obj_is_kind_of(obj, ((swig_class *) (ty->clientdata))->klass)) { + if (*ptr == 0) + rb_raise(rb_eRuntimeError, "This %s already released", ty->str); + return 0; } - *ptr = vptr; - return SWIG_OK; - } } if ((c = SWIG_MangleStr(obj)) == NULL) { - return SWIG_ERROR; + if (flags & SWIG_POINTER_EXCEPTION) + rb_raise(rb_eTypeError, "Expected %s", ty->str); + else + return -1; } tc = SWIG_TypeCheck(c, ty); if (!tc) { - return SWIG_ERROR; + if (flags & SWIG_POINTER_EXCEPTION) + rb_raise(rb_eTypeError, "Expected %s", ty->str); + else + return -1; } - *ptr = SWIG_TypeCast(tc, vptr); - } else { - *ptr = vptr; + *ptr = SWIG_TypeCast(tc, *ptr); } - - return SWIG_OK; + return 0; +} + +/* Convert a pointer value, signal an exception on a type mismatch */ +SWIGRUNTIME(void *) +SWIG_Ruby_MustGetPtr(VALUE obj, swig_type_info *ty, int argnum, int flags) +{ + void *result; + SWIG_ConvertPtr(obj, &result, ty, flags | SWIG_POINTER_EXCEPTION); + return result; } /* Check convert */ -SWIGRUNTIMEINLINE int +SWIGRUNTIME(int) SWIG_Ruby_CheckConvert(VALUE obj, swig_type_info *ty) { char *c = SWIG_MangleStr(obj); - if (!c) return 0; + if (!c) + return 0; return SWIG_TypeCheck(c,ty) != 0; } -SWIGRUNTIME VALUE +SWIGRUNTIME(VALUE) SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) { char result[1024]; char *r = result; @@ -1440,10 +562,10 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) { } /* Convert a packed value value */ -SWIGRUNTIME int -SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) { - swig_cast_info *tc; - const char *c; +SWIGRUNTIME(void) +SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty, int flags) { + swig_type_info *tc; + char *c; if (TYPE(obj) != T_STRING) goto type_error; c = StringValuePtr(obj); @@ -1455,71 +577,34 @@ SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) { tc = SWIG_TypeCheck(c, ty); if (!tc) goto type_error; } - return SWIG_OK; + return; - type_error: - return SWIG_ERROR; -} +type_error: -SWIGRUNTIME swig_module_info * -SWIG_Ruby_GetModule(void) -{ - VALUE pointer; - swig_module_info *ret = 0; - VALUE verbose = rb_gv_get("VERBOSE"); - - /* temporarily disable warnings, since the pointer check causes warnings with 'ruby -w' */ - rb_gv_set("VERBOSE", Qfalse); - - /* first check if pointer already created */ - pointer = rb_gv_get("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME); - if (pointer != Qnil) { - Data_Get_Struct(pointer, swig_module_info, ret); + if (flags) { + if (ty) { + rb_raise(rb_eTypeError, "Type error. Expected %s", ty->name); + } else { + rb_raise(rb_eTypeError, "Expected a pointer"); + } } - - /* reinstate warnings */ - rb_gv_set("VERBOSE", verbose); - return ret; -} - -SWIGRUNTIME void -SWIG_Ruby_SetModule(swig_module_info *pointer) -{ - /* register a new class */ - VALUE cl = rb_define_class("swig_runtime_data", rb_cObject); - /* create and store the structure pointer to a global variable */ - swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer); - rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer); } #ifdef __cplusplus -#if 0 -{ /* cc-mode */ -#endif } #endif -#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) - -#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else - - - /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_char swig_types[0] -#define SWIGTYPE_p_p_switch_core_session_t swig_types[1] -#define SWIGTYPE_p_switch_channel_t swig_types[2] -#define SWIGTYPE_p_switch_core_session_t swig_types[3] -#define SWIGTYPE_p_switch_file_handle_t swig_types[4] -#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] -#define SWIGTYPE_p_uint32_t swig_types[6] -static swig_type_info *swig_types[8]; -static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; -#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) -#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) +#define SWIGTYPE_p_switch_channel_t swig_types[0] +#define SWIGTYPE_p_switch_file_handle_t swig_types[1] +#define SWIGTYPE_p_switch_core_session_t swig_types[2] +#define SWIGTYPE_p_p_switch_core_session_t swig_types[3] +#define SWIGTYPE_p_uint32_t swig_types[4] +#define SWIGTYPE_p_switch_input_callback_function_t swig_types[5] +static swig_type_info *swig_types[7]; /* -------- TYPES TABLE (END) -------- */ @@ -1527,1488 +612,594 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; #define SWIG_name "Freeswitch" static VALUE mFreeswitch; - -#define SWIGVERSION 0x010329 - - -#define SWIG_as_voidptr(a) (void *)((const void *)(a)) -#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) - - -SWIGINTERN swig_type_info* -SWIG_pchar_descriptor() -{ - static int init = 0; - static swig_type_info* info = 0; - if (!init) { - info = SWIG_TypeQuery("_p_char"); - init = 1; - } - return info; -} - - -SWIGINTERN int -SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc) -{ - if (TYPE(obj) == T_STRING) { - - - - char *cstr = STR2CSTR(obj); - - size_t size = RSTRING(obj)->len + 1; - if (cptr) { - if (alloc) { - if (*alloc == SWIG_NEWOBJ) { - *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size)); - } else { - *cptr = cstr; - *alloc = SWIG_OLDOBJ; - } - } - } - if (psize) *psize = size; - return SWIG_OK; - } else { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - if (pchar_descriptor) { - void* vptr = 0; - if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { - if (cptr) *cptr = (char *)vptr; - if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0; - if (alloc) *alloc = SWIG_OLDOBJ; - return SWIG_OK; - } - } - } - return SWIG_TypeError; -} - - - - - -#include -#ifndef LLONG_MIN -# define LLONG_MIN LONG_LONG_MIN -#endif -#ifndef LLONG_MAX -# define LLONG_MAX LONG_LONG_MAX -#endif -#ifndef ULLONG_MAX -# define ULLONG_MAX ULONG_LONG_MAX -#endif - - - #define SWIG_From_long LONG2NUM - - -SWIGINTERNINLINE VALUE -SWIG_From_int (int value) -{ - return SWIG_From_long (value); -} - - -SWIGINTERN VALUE -SWIG_ruby_failed(void) -{ - return Qnil; -} - - -/*@SWIG:%ruby_aux_method@*/ -SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args) -{ - VALUE obj = args[0]; - VALUE type = TYPE(obj); - unsigned long *res = (unsigned long *)(args[1]); - *res = type == T_FIXNUM ? NUM2ULONG(obj) : rb_big2ulong(obj); - return obj; -} -/*@SWIG@*/ - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val) -{ - VALUE type = TYPE(obj); - if ((type == T_FIXNUM) || (type == T_BIGNUM)) { - unsigned long v; - VALUE a[2]; - a[0] = obj; - a[1] = (VALUE)(&v); - if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) { - if (val) *val = v; - return SWIG_OK; - } - } - return SWIG_TypeError; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_int (VALUE obj, unsigned int *val) -{ - unsigned long v; - int res = SWIG_AsVal_unsigned_SS_long (obj, &v); - if (SWIG_IsOK(res)) { - if ((v > UINT_MAX)) { - return SWIG_OverflowError; - } else { - if (val) *val = (unsigned int)(v); - } - } - return res; -} - - -SWIGINTERNINLINE VALUE -SWIG_FromCharPtrAndSize(const char* carray, size_t size) -{ - if (carray) { - if (size > LONG_MAX) { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - return pchar_descriptor ? - SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : Qnil; - } else { - return rb_str_new(carray, (long)(size)); - } - } else { - return Qnil; - } -} - - -SWIGINTERNINLINE VALUE -SWIG_FromCharPtr(const char *cptr) -{ - return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); -} - +extern void fs_core_set_globals(void); +extern int fs_core_init(char *); +extern int fs_core_destroy(void); +extern int fs_loadable_module_init(void); +extern int fs_loadable_module_shutdown(void); +extern int fs_console_loop(void); +extern void fs_consol_log(char *,char *); +extern void fs_consol_clean(char *); +extern switch_core_session_t *fs_core_session_locate(char *); +extern void fs_channel_answer(switch_core_session_t *); +extern void fs_channel_pre_answer(switch_core_session_t *); +extern void fs_channel_hangup(switch_core_session_t *,char *); +extern void fs_channel_set_variable(switch_core_session_t *,char *,char *); +extern void fs_channel_get_variable(switch_core_session_t *,char *); +extern void fs_channel_set_state(switch_core_session_t *,char *); +extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int); +extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t); +extern int fs_ivr_play_file2(switch_core_session_t *,char *); +extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int); +extern int fs_switch_ivr_collect_digits_count(switch_core_session_t *,char *,unsigned int,unsigned int,char const *,char *,unsigned int); +extern int fs_switch_ivr_originate(switch_core_session_t *,switch_core_session_t **,char *,uint32_t); +extern int fs_switch_ivr_session_transfer(switch_core_session_t *,char *,char *,char *); +extern int fs_switch_ivr_speak_text(switch_core_session_t *,char *,char *,char *,uint32_t,switch_input_callback_function_t,char *,void *,unsigned int); +extern char *fs_switch_channel_get_variable(switch_channel_t *,char *); +extern int fs_switch_channel_set_variable(switch_channel_t *,char *,char *); #include "switch.h" -SWIGINTERN VALUE +static VALUE _wrap_fs_core_set_globals(int argc, VALUE *argv, VALUE self) { - if ((argc < 0) || (argc > 0)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; - } - fs_core_set_globals(); - return Qnil; -fail: - return Qnil; + if ((argc < 0) || (argc > 0)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); + fs_core_set_globals(); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_core_init(int argc, VALUE *argv, VALUE self) { - char *arg1 = (char *) 0 ; - int result; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 1) || (argc > 1)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; - } - res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_init" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (int)fs_core_init(arg1); - vresult = SWIG_From_int((int)(result)); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return vresult; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return Qnil; + char *arg1 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); + arg1 = StringValuePtr(argv[0]); + result = (int)fs_core_init(arg1); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_core_destroy(int argc, VALUE *argv, VALUE self) { - int result; - VALUE vresult = Qnil; - - if ((argc < 0) || (argc > 0)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; - } - result = (int)fs_core_destroy(); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + int result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); + result = (int)fs_core_destroy(); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_loadable_module_init(int argc, VALUE *argv, VALUE self) { - int result; - VALUE vresult = Qnil; - - if ((argc < 0) || (argc > 0)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; - } - result = (int)fs_loadable_module_init(); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + int result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); + result = (int)fs_loadable_module_init(); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_loadable_module_shutdown(int argc, VALUE *argv, VALUE self) { - int result; - VALUE vresult = Qnil; - - if ((argc < 0) || (argc > 0)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; - } - result = (int)fs_loadable_module_shutdown(); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + int result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); + result = (int)fs_loadable_module_shutdown(); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_console_loop(int argc, VALUE *argv, VALUE self) { - int result; - VALUE vresult = Qnil; - - if ((argc < 0) || (argc > 0)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; - } - result = (int)fs_console_loop(); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + int result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); + result = (int)fs_console_loop(); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_consol_log(int argc, VALUE *argv, VALUE self) { - char *arg1 = (char *) 0 ; - char *arg2 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_log" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_consol_log" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_consol_log(arg1,arg2); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + char *arg1 ; + char *arg2 ; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + arg1 = StringValuePtr(argv[0]); + arg2 = StringValuePtr(argv[1]); + fs_consol_log(arg1,arg2); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_consol_clean(int argc, VALUE *argv, VALUE self) { - char *arg1 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - - if ((argc < 1) || (argc > 1)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; - } - res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_consol_clean" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - fs_consol_clean(arg1); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return Qnil; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return Qnil; + char *arg1 ; + + if ((argc < 1) || (argc > 1)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); + arg1 = StringValuePtr(argv[0]); + fs_consol_clean(arg1); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_core_session_locate(int argc, VALUE *argv, VALUE self) { - char *arg1 = (char *) 0 ; - switch_core_session_t *result = 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 1) || (argc > 1)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; - } - res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_core_session_locate" "', argument " "1"" of type '" "char *""'"); - } - arg1 = buf1; - result = (switch_core_session_t *)fs_core_session_locate(arg1); - vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return vresult; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return Qnil; + char *arg1 ; + switch_core_session_t *result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); + arg1 = StringValuePtr(argv[0]); + result = (switch_core_session_t *)fs_core_session_locate(arg1); + + vresult = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_switch_core_session_t,0); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_answer(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - - if ((argc < 1) || (argc > 1)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_answer(arg1); - return Qnil; -fail: - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + + if ((argc < 1) || (argc > 1)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + fs_channel_answer(arg1); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_pre_answer(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - - if ((argc < 1) || (argc > 1)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_pre_answer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - fs_channel_pre_answer(arg1); - return Qnil; -fail: - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + + if ((argc < 1) || (argc > 1)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + fs_channel_pre_answer(arg1); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_hangup(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_hangup" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_hangup" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_hangup(arg1,arg2); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + fs_channel_hangup(arg1,arg2); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_set_variable(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - - if ((argc < 3) || (argc > 3)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - fs_channel_set_variable(arg1,arg2,arg3); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + + if ((argc < 3) || (argc > 3)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = StringValuePtr(argv[2]); + fs_channel_set_variable(arg1,arg2,arg3); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_get_variable(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_get_variable" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_get_variable(arg1,arg2); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + fs_channel_get_variable(arg1,arg2); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_channel_set_state(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_channel_set_state" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_channel_set_state" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - fs_channel_set_state(arg1,arg2); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + fs_channel_set_state(arg1,arg2); + + return Qnil; } -SWIGINTERN VALUE +static VALUE _wrap_fs_ivr_play_file(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 6) || (argc > 6)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_ivr_play_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(argv[3], &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_ivr_play_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 6) || (argc > 6)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = StringValuePtr(argv[2]); + { + switch_input_callback_function_t * ptr; + SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_switch_input_callback_function_t, 1); + if (ptr) arg4 = *ptr; } - } - res5 = SWIG_ConvertPtr(argv[4],SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_ivr_play_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int(argv[5], &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_ivr_play_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; + SWIG_ConvertPtr(argv[4], (void **) &arg5, 0, 1); + arg6 = NUM2UINT(argv[5]); + result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4,arg5,arg6); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_record_file(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 = (char *) 0 ; - switch_input_callback_function_t arg4 ; - void *arg5 = (void *) 0 ; - unsigned int arg6 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - int res5 ; - unsigned int val6 ; - int ecode6 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 6) || (argc > 6)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_record_file" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_switch_file_handle_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_record_file" "', argument " "2"" of type '" "switch_file_handle_t *""'"); - } - arg2 = (switch_file_handle_t *)(argp2); - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_record_file" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(argv[3], &argp4, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_record_file" "', argument " "4"" of type '" "switch_input_callback_function_t""'"); - } else { - arg4 = *((switch_input_callback_function_t *)(argp4)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; + char *arg3 ; + switch_input_callback_function_t arg4 ; + void *arg5 = (void *) 0 ; + unsigned int arg6 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 6) || (argc > 6)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + SWIG_ConvertPtr(argv[1], (void **) &arg2, SWIGTYPE_p_switch_file_handle_t, 1); + arg3 = StringValuePtr(argv[2]); + { + switch_input_callback_function_t * ptr; + SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_switch_input_callback_function_t, 1); + if (ptr) arg4 = *ptr; } - } - res5 = SWIG_ConvertPtr(argv[4],SWIG_as_voidptrptr(&arg5), 0, 0); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_record_file" "', argument " "5"" of type '" "void *""'"); - } - ecode6 = SWIG_AsVal_unsigned_SS_int(argv[5], &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "fs_switch_ivr_record_file" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = (unsigned int)(val6); - result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); - vresult = SWIG_From_int((int)(result)); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return vresult; -fail: - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; + SWIG_ConvertPtr(argv[4], (void **) &arg5, 0, 1); + arg6 = NUM2UINT(argv[5]); + result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_sleep(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - uint32_t arg2 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_sleep" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - { - res2 = SWIG_ConvertPtr(argv[1], &argp2, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_sleep" "', argument " "2"" of type '" "uint32_t""'"); - } else { - arg2 = *((uint32_t *)(argp2)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + uint32_t arg2 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + { + uint32_t * ptr; + SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_uint32_t, 1); + if (ptr) arg2 = *ptr; } - } - result = (int)fs_switch_ivr_sleep(arg1,arg2); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + result = (int)fs_switch_ivr_sleep(arg1,arg2); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_ivr_play_file2(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_ivr_play_file2" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_ivr_play_file2" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (int)fs_ivr_play_file2(arg1,arg2); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + result = (int)fs_ivr_play_file2(arg1,arg2); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_collect_digits_callback(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_input_callback_function_t arg2 ; - void *arg3 = (void *) 0 ; - unsigned int arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - int res3 ; - unsigned int val4 ; - int ecode4 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 4) || (argc > 4)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - { - res2 = SWIG_ConvertPtr(argv[1], &argp2, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "2"" of type '" "switch_input_callback_function_t""'"); - } else { - arg2 = *((switch_input_callback_function_t *)(argp2)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_input_callback_function_t arg2 ; + void *arg3 = (void *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 5) || (argc > 5)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 5)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + { + switch_input_callback_function_t * ptr; + SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_switch_input_callback_function_t, 1); + if (ptr) arg2 = *ptr; } - } - res3 = SWIG_ConvertPtr(argv[2],SWIG_as_voidptrptr(&arg3), 0, 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "3"" of type '" "void *""'"); - } - ecode4 = SWIG_AsVal_unsigned_SS_int(argv[3], &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_callback" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4); - vresult = SWIG_From_int((int)(result)); - return vresult; -fail: - return Qnil; + SWIG_ConvertPtr(argv[2], (void **) &arg3, 0, 1); + arg4 = NUM2UINT(argv[3]); + arg5 = NUM2UINT(argv[4]); + result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4,arg5); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_collect_digits_count(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - unsigned int arg3 ; - unsigned int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - unsigned int arg7 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - unsigned int val3 ; - int ecode3 = 0 ; - unsigned int val4 ; - int ecode4 = 0 ; - int res5 ; - char *buf5 = 0 ; - int alloc5 = 0 ; - int res6 ; - char *buf6 = 0 ; - int alloc6 = 0 ; - unsigned int val7 ; - int ecode7 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 7) || (argc > 7)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - ecode3 = SWIG_AsVal_unsigned_SS_int(argv[2], &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "3"" of type '" "unsigned int""'"); - } - arg3 = (unsigned int)(val3); - ecode4 = SWIG_AsVal_unsigned_SS_int(argv[3], &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "4"" of type '" "unsigned int""'"); - } - arg4 = (unsigned int)(val4); - res5 = SWIG_AsCharPtrAndSize(argv[4], &buf5, NULL, &alloc5); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "5"" of type '" "char const *""'"); - } - arg5 = buf5; - res6 = SWIG_AsCharPtrAndSize(argv[5], &buf6, NULL, &alloc6); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "6"" of type '" "char *""'"); - } - arg6 = buf6; - ecode7 = SWIG_AsVal_unsigned_SS_int(argv[6], &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "fs_switch_ivr_collect_digits_count" "', argument " "7"" of type '" "unsigned int""'"); - } - arg7 = (unsigned int)(val7); - result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc5 == SWIG_NEWOBJ) free((char*)buf5); - if (alloc6 == SWIG_NEWOBJ) free((char*)buf6); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + unsigned int arg3 ; + unsigned int arg4 ; + char *arg5 ; + char *arg6 ; + unsigned int arg7 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 7) || (argc > 7)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = NUM2UINT(argv[2]); + arg4 = NUM2UINT(argv[3]); + arg5 = StringValuePtr(argv[4]); + arg6 = StringValuePtr(argv[5]); + arg7 = NUM2UINT(argv[6]); + result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_originate(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; - char *arg3 = (char *) 0 ; - uint32_t arg4 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - void *argp4 ; - int res4 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 4) || (argc > 4)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_originate" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_originate" "', argument " "2"" of type '" "switch_core_session_t **""'"); - } - arg2 = (switch_core_session_t **)(argp2); - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_originate" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - { - res4 = SWIG_ConvertPtr(argv[3], &argp4, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } - if (!argp4) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_originate" "', argument " "4"" of type '" "uint32_t""'"); - } else { - arg4 = *((uint32_t *)(argp4)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; + char *arg3 ; + uint32_t arg4 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 4) || (argc > 4)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + SWIG_ConvertPtr(argv[1], (void **) &arg2, SWIGTYPE_p_p_switch_core_session_t, 1); + arg3 = StringValuePtr(argv[2]); + { + uint32_t * ptr; + SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_uint32_t, 1); + if (ptr) arg4 = *ptr; } - } - result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); - vresult = SWIG_From_int((int)(result)); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return vresult; -fail: - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; + result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_session_transfer(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 4) || (argc > 4)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_session_transfer" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_session_transfer" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_session_transfer" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(argv[3], &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_session_transfer" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; - result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - return Qnil; + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 4) || (argc > 4)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = StringValuePtr(argv[2]); + arg4 = StringValuePtr(argv[3]); + result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_ivr_speak_text(int argc, VALUE *argv, VALUE self) { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - uint32_t arg5 ; - switch_input_callback_function_t arg6 ; - char *arg7 = (char *) 0 ; - void *arg8 = (void *) 0 ; - unsigned int arg9 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - int res4 ; - char *buf4 = 0 ; - int alloc4 = 0 ; - void *argp5 ; - int res5 = 0 ; - void *argp6 ; - int res6 = 0 ; - int res7 ; - char *buf7 = 0 ; - int alloc7 = 0 ; - int res8 ; - unsigned int val9 ; - int ecode9 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 9) || (argc > 9)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 9)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_ivr_speak_text" "', argument " "1"" of type '" "switch_core_session_t *""'"); - } - arg1 = (switch_core_session_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_ivr_speak_text" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_ivr_speak_text" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - res4 = SWIG_AsCharPtrAndSize(argv[3], &buf4, NULL, &alloc4); - if (!SWIG_IsOK(res4)) { - SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fs_switch_ivr_speak_text" "', argument " "4"" of type '" "char *""'"); - } - arg4 = buf4; - { - res5 = SWIG_ConvertPtr(argv[4], &argp5, SWIGTYPE_p_uint32_t, 0 ); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } - if (!argp5) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "5"" of type '" "uint32_t""'"); - } else { - arg5 = *((uint32_t *)(argp5)); + switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; + char *arg2 ; + char *arg3 ; + char *arg4 ; + uint32_t arg5 ; + switch_input_callback_function_t arg6 ; + char *arg7 ; + void *arg8 = (void *) 0 ; + unsigned int arg9 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 9) || (argc > 9)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 9)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = StringValuePtr(argv[2]); + arg4 = StringValuePtr(argv[3]); + { + uint32_t * ptr; + SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_uint32_t, 1); + if (ptr) arg5 = *ptr; } - } - { - res6 = SWIG_ConvertPtr(argv[5], &argp6, SWIGTYPE_p_switch_input_callback_function_t, 0 ); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } - if (!argp6) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fs_switch_ivr_speak_text" "', argument " "6"" of type '" "switch_input_callback_function_t""'"); - } else { - arg6 = *((switch_input_callback_function_t *)(argp6)); + { + switch_input_callback_function_t * ptr; + SWIG_ConvertPtr(argv[5], (void **) &ptr, SWIGTYPE_p_switch_input_callback_function_t, 1); + if (ptr) arg6 = *ptr; } - } - res7 = SWIG_AsCharPtrAndSize(argv[6], &buf7, NULL, &alloc7); - if (!SWIG_IsOK(res7)) { - SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "fs_switch_ivr_speak_text" "', argument " "7"" of type '" "char *""'"); - } - arg7 = buf7; - res8 = SWIG_ConvertPtr(argv[7],SWIG_as_voidptrptr(&arg8), 0, 0); - if (!SWIG_IsOK(res8)) { - SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "fs_switch_ivr_speak_text" "', argument " "8"" of type '" "void *""'"); - } - ecode9 = SWIG_AsVal_unsigned_SS_int(argv[8], &val9); - if (!SWIG_IsOK(ecode9)) { - SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "fs_switch_ivr_speak_text" "', argument " "9"" of type '" "unsigned int""'"); - } - arg9 = (unsigned int)(val9); - result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - if (alloc4 == SWIG_NEWOBJ) free((char*)buf4); - if (alloc7 == SWIG_NEWOBJ) free((char*)buf7); - return Qnil; + arg7 = StringValuePtr(argv[6]); + SWIG_ConvertPtr(argv[7], (void **) &arg8, 0, 1); + arg9 = NUM2UINT(argv[8]); + result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + + vresult = INT2NUM(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_channel_get_variable(int argc, VALUE *argv, VALUE self) { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *result = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 2) || (argc > 2)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_get_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_get_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - result = (char *)fs_switch_channel_get_variable(arg1,arg2); - vresult = SWIG_FromCharPtr(result); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - return Qnil; + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_channel_t, 1); + arg2 = StringValuePtr(argv[1]); + result = (char *)fs_switch_channel_get_variable(arg1,arg2); + + vresult = rb_str_new2(result); + return vresult; } -SWIGINTERN VALUE +static VALUE _wrap_fs_switch_channel_set_variable(int argc, VALUE *argv, VALUE self) { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - int result; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 ; - char *buf2 = 0 ; - int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; - VALUE vresult = Qnil; - - if ((argc < 3) || (argc > 3)) { - rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail; - } - res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_switch_channel_t, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_switch_channel_set_variable" "', argument " "1"" of type '" "switch_channel_t *""'"); - } - arg1 = (switch_channel_t *)(argp1); - res2 = SWIG_AsCharPtrAndSize(argv[1], &buf2, NULL, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_switch_channel_set_variable" "', argument " "2"" of type '" "char *""'"); - } - arg2 = buf2; - res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fs_switch_channel_set_variable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = buf3; - result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); - vresult = SWIG_From_int((int)(result)); - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return vresult; -fail: - if (alloc2 == SWIG_NEWOBJ) free((char*)buf2); - if (alloc3 == SWIG_NEWOBJ) free((char*)buf3); - return Qnil; + switch_channel_t *arg1 = (switch_channel_t *) 0 ; + char *arg2 ; + char *arg3 ; + int result; + VALUE vresult = Qnil; + + if ((argc < 3) || (argc > 3)) + rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); + SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_channel_t, 1); + arg2 = StringValuePtr(argv[1]); + arg3 = StringValuePtr(argv[2]); + result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); + + vresult = INT2NUM(result); + return vresult; } /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ -static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_p_switch_core_session_t = {"_p_p_switch_core_session_t", "switch_core_session_t **", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_core_session_t = {"_p_switch_core_session_t", "switch_core_session_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_file_handle_t = {"_p_switch_file_handle_t", "switch_file_handle_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_switch_input_callback_function_t = {"_p_switch_input_callback_function_t", "switch_input_callback_function_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_uint32_t = {"_p_uint32_t", "uint32_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_channel_t[] = {{"_p_switch_channel_t", 0, "switch_channel_t *", 0},{"_p_switch_channel_t"},{0}}; +static swig_type_info _swigt__p_switch_file_handle_t[] = {{"_p_switch_file_handle_t", 0, "switch_file_handle_t *", 0},{"_p_switch_file_handle_t"},{0}}; +static swig_type_info _swigt__p_switch_core_session_t[] = {{"_p_switch_core_session_t", 0, "switch_core_session_t *", 0},{"_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_p_switch_core_session_t[] = {{"_p_p_switch_core_session_t", 0, "switch_core_session_t **", 0},{"_p_p_switch_core_session_t"},{0}}; +static swig_type_info _swigt__p_uint32_t[] = {{"_p_uint32_t", 0, "uint32_t *", 0},{"_p_uint32_t"},{0}}; +static swig_type_info _swigt__p_switch_input_callback_function_t[] = {{"_p_switch_input_callback_function_t", 0, "switch_input_callback_function_t *", 0},{"_p_switch_input_callback_function_t"},{0}}; -static swig_type_info *swig_type_initial[] = { - &_swigt__p_char, - &_swigt__p_p_switch_core_session_t, - &_swigt__p_switch_channel_t, - &_swigt__p_switch_core_session_t, - &_swigt__p_switch_file_handle_t, - &_swigt__p_switch_input_callback_function_t, - &_swigt__p_uint32_t, -}; - -static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_p_switch_core_session_t[] = { {&_swigt__p_p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_channel_t[] = { {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_core_session_t[] = { {&_swigt__p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_file_handle_t[] = { {&_swigt__p_switch_file_handle_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_switch_input_callback_function_t[] = { {&_swigt__p_switch_input_callback_function_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_uint32_t[] = { {&_swigt__p_uint32_t, 0, 0, 0},{0, 0, 0, 0}}; - -static swig_cast_info *swig_cast_initial[] = { - _swigc__p_char, - _swigc__p_p_switch_core_session_t, - _swigc__p_switch_channel_t, - _swigc__p_switch_core_session_t, - _swigc__p_switch_file_handle_t, - _swigc__p_switch_input_callback_function_t, - _swigc__p_uint32_t, +static swig_type_info *swig_types_initial[] = { +_swigt__p_switch_channel_t, +_swigt__p_switch_file_handle_t, +_swigt__p_switch_core_session_t, +_swigt__p_p_switch_core_session_t, +_swigt__p_uint32_t, +_swigt__p_switch_input_callback_function_t, +0 }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ -/* ----------------------------------------------------------------------------- - * Type initialization: - * This problem is tough by the requirement that no dynamic - * memory is used. Also, since swig_type_info structures store pointers to - * swig_cast_info structures and swig_cast_info structures store pointers back - * to swig_type_info structures, we need some lookup code at initialization. - * The idea is that swig generates all the structures that are needed. - * The runtime then collects these partially filled structures. - * The SWIG_InitializeModule function takes these initial arrays out of - * swig_module, and does all the lookup, filling in the swig_module.types - * array with the correct data and linking the correct swig_cast_info - * structures together. - * - * The generated swig_type_info structures are assigned staticly to an initial - * array. We just loop though that array, and handle each type individually. - * First we lookup if this type has been already loaded, and if so, use the - * loaded structure instead of the generated one. Then we have to fill in the - * cast linked list. The cast data is initially stored in something like a - * two-dimensional array. Each row corresponds to a type (there are the same - * number of rows as there are in the swig_type_initial array). Each entry in - * a column is one of the swig_cast_info structures for that type. - * The cast_initial array is actually an array of arrays, because each row has - * a variable number of columns. So to actually build the cast linked list, - * we find the array of casts associated with the type, and loop through it - * adding the casts to the list. The one last trick we need to do is making - * sure the type pointer in the swig_cast_info struct is correct. - * - * First off, we lookup the cast->type name to see if it is already loaded. - * There are three cases to handle: - * 1) If the cast->type has already been loaded AND the type we are adding - * casting info to has not been loaded (it is in this module), THEN we - * replace the cast->type pointer with the type pointer that has already - * been loaded. - * 2) If BOTH types (the one we are adding casting info to, and the - * cast->type) are loaded, THEN the cast info has already been loaded by - * the previous module so we just ignore it. - * 3) Finally, if cast->type has not already been loaded, then we add that - * swig_cast_info to the linked list (because the cast->type) pointer will - * be correct. - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* c-mode */ -#endif -#endif - -#if 0 -#define SWIGRUNTIME_DEBUG -#endif - -SWIGRUNTIME void -SWIG_InitializeModule(void *clientdata) { - size_t i; - swig_module_info *module_head; - static int init_run = 0; - - clientdata = clientdata; - - if (init_run) return; - init_run = 1; - - /* Initialize the swig_module */ - swig_module.type_initial = swig_type_initial; - swig_module.cast_initial = swig_cast_initial; - - /* Try and load any already created modules */ - module_head = SWIG_GetModule(clientdata); - if (module_head) { - swig_module.next = module_head->next; - module_head->next = &swig_module; - } else { - /* This is the first module loaded */ - swig_module.next = &swig_module; - SWIG_SetModule(clientdata, &swig_module); - } - - /* Now work on filling in swig_module.types */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: size %d\n", swig_module.size); -#endif - for (i = 0; i < swig_module.size; ++i) { - swig_type_info *type = 0; - swig_type_info *ret; - swig_cast_info *cast; - -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); -#endif - - /* if there is another module already loaded */ - if (swig_module.next != &swig_module) { - type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); - } - if (type) { - /* Overwrite clientdata field */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found type %s\n", type->name); -#endif - if (swig_module.type_initial[i]->clientdata) { - type->clientdata = swig_module.type_initial[i]->clientdata; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); -#endif - } - } else { - type = swig_module.type_initial[i]; - } - - /* Insert casting types */ - cast = swig_module.cast_initial[i]; - while (cast->type) { - - /* Don't need to add information already in the list */ - ret = 0; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); -#endif - if (swig_module.next != &swig_module) { - ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); -#ifdef SWIGRUNTIME_DEBUG - if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); -#endif - } - if (ret) { - if (type == swig_module.type_initial[i]) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: skip old type %s\n", ret->name); -#endif - cast->type = ret; - ret = 0; - } else { - /* Check for casting already in the list */ - swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); -#ifdef SWIGRUNTIME_DEBUG - if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); -#endif - if (!ocast) ret = 0; - } - } - - if (!ret) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); -#endif - if (type->cast) { - type->cast->prev = cast; - cast->next = type->cast; - } - type->cast = cast; - } - cast++; - } - /* Set entry in modules->types array equal to the type */ - swig_module.types[i] = type; - } - swig_module.types[i] = 0; - -#ifdef SWIGRUNTIME_DEBUG - printf("**** SWIG_InitializeModule: Cast List ******\n"); - for (i = 0; i < swig_module.size; ++i) { - int j = 0; - swig_cast_info *cast = swig_module.cast_initial[i]; - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); - while (cast->type) { - printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); - cast++; - ++j; - } - printf("---- Total casts: %d\n",j); - } - printf("**** SWIG_InitializeModule: Cast List ******\n"); -#endif -} - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientData(void) { - size_t i; - swig_cast_info *equiv; - static int init_run = 0; - - if (init_run) return; - init_run = 1; - - for (i = 0; i < swig_module.size; i++) { - if (swig_module.types[i]->clientdata) { - equiv = swig_module.types[i]->cast; - while (equiv) { - if (!equiv->converter) { - if (equiv->type && !equiv->type->clientdata) - SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); - } - equiv = equiv->next; - } - } - } -} - -#ifdef __cplusplus -#if 0 -{ /* c-mode */ -#endif -} -#endif - #ifdef __cplusplus extern "C" #endif -SWIGEXPORT void Init_freeswitch(void) { - size_t i; - - SWIG_InitRuntime(); - mFreeswitch = rb_define_module("Freeswitch"); - - SWIG_InitializeModule(0); - for (i = 0; i < swig_module.size; i++) { - SWIG_define_class(swig_module.types[i]); - } - - SWIG_RubyInitializeTrackings(); - rb_define_module_function(mFreeswitch, "fs_core_set_globals", _wrap_fs_core_set_globals, -1); - rb_define_module_function(mFreeswitch, "fs_core_init", _wrap_fs_core_init, -1); - rb_define_module_function(mFreeswitch, "fs_core_destroy", _wrap_fs_core_destroy, -1); - rb_define_module_function(mFreeswitch, "fs_loadable_module_init", _wrap_fs_loadable_module_init, -1); - rb_define_module_function(mFreeswitch, "fs_loadable_module_shutdown", _wrap_fs_loadable_module_shutdown, -1); - rb_define_module_function(mFreeswitch, "fs_console_loop", _wrap_fs_console_loop, -1); - rb_define_module_function(mFreeswitch, "fs_consol_log", _wrap_fs_consol_log, -1); - rb_define_module_function(mFreeswitch, "fs_consol_clean", _wrap_fs_consol_clean, -1); - rb_define_module_function(mFreeswitch, "fs_core_session_locate", _wrap_fs_core_session_locate, -1); - rb_define_module_function(mFreeswitch, "fs_channel_answer", _wrap_fs_channel_answer, -1); - rb_define_module_function(mFreeswitch, "fs_channel_pre_answer", _wrap_fs_channel_pre_answer, -1); - rb_define_module_function(mFreeswitch, "fs_channel_hangup", _wrap_fs_channel_hangup, -1); - rb_define_module_function(mFreeswitch, "fs_channel_set_variable", _wrap_fs_channel_set_variable, -1); - rb_define_module_function(mFreeswitch, "fs_channel_get_variable", _wrap_fs_channel_get_variable, -1); - rb_define_module_function(mFreeswitch, "fs_channel_set_state", _wrap_fs_channel_set_state, -1); - rb_define_module_function(mFreeswitch, "fs_ivr_play_file", _wrap_fs_ivr_play_file, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_record_file", _wrap_fs_switch_ivr_record_file, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_sleep", _wrap_fs_switch_ivr_sleep, -1); - rb_define_module_function(mFreeswitch, "fs_ivr_play_file2", _wrap_fs_ivr_play_file2, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_collect_digits_callback", _wrap_fs_switch_ivr_collect_digits_callback, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_collect_digits_count", _wrap_fs_switch_ivr_collect_digits_count, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_originate", _wrap_fs_switch_ivr_originate, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_session_transfer", _wrap_fs_switch_ivr_session_transfer, -1); - rb_define_module_function(mFreeswitch, "fs_switch_ivr_speak_text", _wrap_fs_switch_ivr_speak_text, -1); - rb_define_module_function(mFreeswitch, "fs_switch_channel_get_variable", _wrap_fs_switch_channel_get_variable, -1); - rb_define_module_function(mFreeswitch, "fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable, -1); +SWIGEXPORT(void) Init_freeswitch(void) { + int i; + + SWIG_InitRuntime(); + mFreeswitch = rb_define_module("Freeswitch"); + + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); + SWIG_define_class(swig_types[i]); + } + + rb_define_module_function(mFreeswitch, "fs_core_set_globals", _wrap_fs_core_set_globals, -1); + rb_define_module_function(mFreeswitch, "fs_core_init", _wrap_fs_core_init, -1); + rb_define_module_function(mFreeswitch, "fs_core_destroy", _wrap_fs_core_destroy, -1); + rb_define_module_function(mFreeswitch, "fs_loadable_module_init", _wrap_fs_loadable_module_init, -1); + rb_define_module_function(mFreeswitch, "fs_loadable_module_shutdown", _wrap_fs_loadable_module_shutdown, -1); + rb_define_module_function(mFreeswitch, "fs_console_loop", _wrap_fs_console_loop, -1); + rb_define_module_function(mFreeswitch, "fs_consol_log", _wrap_fs_consol_log, -1); + rb_define_module_function(mFreeswitch, "fs_consol_clean", _wrap_fs_consol_clean, -1); + rb_define_module_function(mFreeswitch, "fs_core_session_locate", _wrap_fs_core_session_locate, -1); + rb_define_module_function(mFreeswitch, "fs_channel_answer", _wrap_fs_channel_answer, -1); + rb_define_module_function(mFreeswitch, "fs_channel_pre_answer", _wrap_fs_channel_pre_answer, -1); + rb_define_module_function(mFreeswitch, "fs_channel_hangup", _wrap_fs_channel_hangup, -1); + rb_define_module_function(mFreeswitch, "fs_channel_set_variable", _wrap_fs_channel_set_variable, -1); + rb_define_module_function(mFreeswitch, "fs_channel_get_variable", _wrap_fs_channel_get_variable, -1); + rb_define_module_function(mFreeswitch, "fs_channel_set_state", _wrap_fs_channel_set_state, -1); + rb_define_module_function(mFreeswitch, "fs_ivr_play_file", _wrap_fs_ivr_play_file, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_record_file", _wrap_fs_switch_ivr_record_file, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_sleep", _wrap_fs_switch_ivr_sleep, -1); + rb_define_module_function(mFreeswitch, "fs_ivr_play_file2", _wrap_fs_ivr_play_file2, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_collect_digits_callback", _wrap_fs_switch_ivr_collect_digits_callback, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_collect_digits_count", _wrap_fs_switch_ivr_collect_digits_count, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_originate", _wrap_fs_switch_ivr_originate, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_session_transfer", _wrap_fs_switch_ivr_session_transfer, -1); + rb_define_module_function(mFreeswitch, "fs_switch_ivr_speak_text", _wrap_fs_switch_ivr_speak_text, -1); + rb_define_module_function(mFreeswitch, "fs_switch_channel_get_variable", _wrap_fs_switch_channel_get_variable, -1); + rb_define_module_function(mFreeswitch, "fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable, -1); } diff --git a/src/switch_swig.c b/src/switch_swig.c index afbf3130e1..3dd685ee28 100644 --- a/src/switch_swig.c +++ b/src/switch_swig.c @@ -206,13 +206,14 @@ int fs_ivr_play_file2(switch_core_session_t *session, int fs_switch_ivr_collect_digits_callback (switch_core_session_t *session, - switch_input_callback_function_t dtmf_callback, - void *buf, - unsigned int buflen) + switch_input_callback_function_t dtmf_callback, + void *buf, + unsigned int buflen, + unsigned int timeout) { switch_status_t status; - status = switch_ivr_collect_digits_callback(session, dtmf_callback, buf, buflen); + status = switch_ivr_collect_digits_callback(session, dtmf_callback, buf, buflen, timeout); return status == SWITCH_STATUS_SUCCESS ? 1 : 0; }