From c36ed840fbb67156b6de7799763135530c90787a Mon Sep 17 00:00:00 2001 From: Michael Lum Date: Thu, 18 Sep 2008 01:44:59 +0000 Subject: [PATCH] first cut at python distutils bindings for python git-svn-id: https://lwes.svn.sourceforge.net/svnroot/lwes/lwes-python/trunk@69 a2f82657-cdd2-4550-bd36-68a8e7111808 --- .svnignore | 5 + MANIFEST | 3 + lwes.i | 113 +++ lwes.py | 95 ++ lwes_wrap.c | 3017 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 33 + 6 files changed, 3266 insertions(+) create mode 100644 .svnignore create mode 100644 MANIFEST create mode 100644 lwes.i create mode 100644 lwes.py create mode 100644 lwes_wrap.c create mode 100644 setup.py diff --git a/.svnignore b/.svnignore new file mode 100644 index 0000000..1129904 --- /dev/null +++ b/.svnignore @@ -0,0 +1,5 @@ +build +dist +*.o +*.pyc +*.so diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..57f8769 --- /dev/null +++ b/MANIFEST @@ -0,0 +1,3 @@ +lwes.py +lwes_wrap.c +setup.py diff --git a/lwes.i b/lwes.i new file mode 100644 index 0000000..399e399 --- /dev/null +++ b/lwes.i @@ -0,0 +1,113 @@ +%module lwes + +%{ +#define SWIG_FILE_WITH_INIT +#include "lwes.h" +%} + +struct lwes_event_type_db * +lwes_event_type_db_create(char *filename); + +int +lwes_event_type_db_destroy(struct lwes_event_type_db *db); + +struct lwes_emitter * +lwes_emitter_create(char *address, char *iface, int port, + int emit_heartbeat, short freq); + +struct lwes_emitter * +lwes_emitter_create_with_ttl(char *address, char *iface, int port, + int emit_heartbeat, short freq, int ttl); + +int +lwes_emitter_emit(struct lwes_emitter *emitter, struct lwes_event *event); + +int +lwes_emitter_emitto(char *address, char *iface, int port, + struct lwes_emitter *emitter, struct lwes_event *event); + +int +lwes_emitter_destroy(struct lwes_emitter *emitter); + +struct lwes_event * +lwes_event_create(struct lwes_event_type_db *db, char *event_name); + +struct lwes_event * +lwes_event_create_with_encoding(struct lwes_event_type_db *db, + char *event_name, short encoding); + +int +lwes_event_set_U_INT_16(struct lwes_event *event, char *attribute_name, + unsigned short a_uint16); + +int +lwes_event_get_U_INT_16(struct lwes_event *event, char *attribute_name, + unsigned short *a_uint16); + +int +lwes_event_set_INT_16(struct lwes_event *event, char *attribute_name, + short a_int16); + +int +lwes_event_get_INT_16(struct lwes_event *event, char *attribute_name, + short *a_int16); + +int +lwes_event_set_U_INT_32(struct lwes_event *event, char *attribute_name, + unsigned int a_uint32); + +int +lwes_event_get_U_INT_32(struct lwes_event *event, char *attribute_name, + unsigned int *a_uint32); + +int +lwes_event_set_INT_32(struct lwes_event *event, char *attribute_name, + int a_int32); + +int +lwes_event_get_INT_32(struct lwes_event *event, char *attribute_name, + int *a_int32); + +int +lwes_event_set_U_INT_64(struct lwes_event *event, + char *attribute_name, unsigned long long a_uint64); + +int +lwes_event_get_U_INT_64(struct lwes_event *event, char *attribute_name, + unsigned long long *a_uint64); + +int +lwes_event_set_INT_64(struct lwes_event *event, char *attribute_name, + long long an_int64); + +int +lwes_event_get_INT_64(struct lwes_event *event, char *attribute_name, + long long *an_int64); + +int +lwes_event_set_STRING(struct lwes_event *event, char *attribute_name, + char *a_string); + +int +lwes_event_get_STRING(struct lwes_event *event, char *attribute_name, + char **a_string); + +int +lwes_event_set_IP_ADDR_w_string(struct lwes_event *event, char *attribute_name, + char *an_ip_addr); + +int +lwes_event_get_IP_ADDR(struct lwes_event *event, char *attribute_name, + struct in_addr *an_in_addr); + +int +lwes_event_set_BOOLEAN(struct lwes_event *event, char *attribute_name, + int a_boolean); + +int +lwes_event_get_BOOLEAN(struct lwes_event *event, char *attribute_name, + int *a_boolean); + +int +lwes_event_destroy(struct lwes_event *event); + diff --git a/lwes.py b/lwes.py new file mode 100644 index 0000000..e08b2d4 --- /dev/null +++ b/lwes.py @@ -0,0 +1,95 @@ +# This file was created automatically by SWIG. +# Don't modify this file, modify the SWIG interface instead. +# This file is compatible with both classic and new-style classes. + +import _lwes + +def _swig_setattr_nondynamic(self,class_type,name,value,static=1): + if (name == "this"): + if isinstance(value, class_type): + self.__dict__[name] = value.this + if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown + del value.thisown + return + method = class_type.__swig_setmethods__.get(name,None) + if method: return method(self,value) + if (not static) or hasattr(self,name) or (name == "thisown"): + self.__dict__[name] = value + else: + raise AttributeError("You cannot add attributes to %s" % self) + +def _swig_setattr(self,class_type,name,value): + return _swig_setattr_nondynamic(self,class_type,name,value,0) + +def _swig_getattr(self,class_type,name): + method = class_type.__swig_getmethods__.get(name,None) + if method: return method(self) + raise AttributeError,name + +import types +try: + _object = types.ObjectType + _newclass = 1 +except AttributeError: + class _object : pass + _newclass = 0 +del types + + + +lwes_event_type_db_create = _lwes.lwes_event_type_db_create + +lwes_event_type_db_destroy = _lwes.lwes_event_type_db_destroy + +lwes_emitter_create = _lwes.lwes_emitter_create + +lwes_emitter_create_with_ttl = _lwes.lwes_emitter_create_with_ttl + +lwes_emitter_emit = _lwes.lwes_emitter_emit + +lwes_emitter_emitto = _lwes.lwes_emitter_emitto + +lwes_emitter_destroy = _lwes.lwes_emitter_destroy + +lwes_event_create = _lwes.lwes_event_create + +lwes_event_create_with_encoding = _lwes.lwes_event_create_with_encoding + +lwes_event_set_U_INT_16 = _lwes.lwes_event_set_U_INT_16 + +lwes_event_get_U_INT_16 = _lwes.lwes_event_get_U_INT_16 + +lwes_event_set_INT_16 = _lwes.lwes_event_set_INT_16 + +lwes_event_get_INT_16 = _lwes.lwes_event_get_INT_16 + +lwes_event_set_U_INT_32 = _lwes.lwes_event_set_U_INT_32 + +lwes_event_get_U_INT_32 = _lwes.lwes_event_get_U_INT_32 + +lwes_event_set_INT_32 = _lwes.lwes_event_set_INT_32 + +lwes_event_get_INT_32 = _lwes.lwes_event_get_INT_32 + +lwes_event_set_U_INT_64 = _lwes.lwes_event_set_U_INT_64 + +lwes_event_get_U_INT_64 = _lwes.lwes_event_get_U_INT_64 + +lwes_event_set_INT_64 = _lwes.lwes_event_set_INT_64 + +lwes_event_get_INT_64 = _lwes.lwes_event_get_INT_64 + +lwes_event_set_STRING = _lwes.lwes_event_set_STRING + +lwes_event_get_STRING = _lwes.lwes_event_get_STRING + +lwes_event_set_IP_ADDR_w_string = _lwes.lwes_event_set_IP_ADDR_w_string + +lwes_event_get_IP_ADDR = _lwes.lwes_event_get_IP_ADDR + +lwes_event_set_BOOLEAN = _lwes.lwes_event_set_BOOLEAN + +lwes_event_get_BOOLEAN = _lwes.lwes_event_get_BOOLEAN + +lwes_event_destroy = _lwes.lwes_event_destroy + diff --git a/lwes_wrap.c b/lwes_wrap.c new file mode 100644 index 0000000..aa7da14 --- /dev/null +++ b/lwes_wrap.c @@ -0,0 +1,3017 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.24 + * + * 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 + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGPYTHON + +#ifndef SWIG_TEMPLATE_DISAMBIGUATOR +# if defined(__SUNPRO_CC) +# define SWIG_TEMPLATE_DISAMBIGUATOR template +# else +# define SWIG_TEMPLATE_DISAMBIGUATOR +# endif +#endif + + +#include + +/*********************************************************************** + * 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 "1" + +/* 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 + +#include + +#ifndef SWIGINLINE +#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +#else +# define SWIGINLINE +#endif +#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 static +#endif +#ifndef SWIGRUNTIMEINLINE +#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +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; + +/* + 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; + } + return (l1 - f1) - (l2 - f2); +} + +/* + Check type equivalence in a name list like ||... +*/ +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; + if (*ne) ++ne; + } + return equiv; +} + +/* + Register a type mapping with the type-checking +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = *tl; + while (tc) { + /* check simple type equivalence */ + int typeequiv = (strcmp(tc->name, ti->name) == 0); + /* check full type equivalence, resolving typedefs */ + if (!typeequiv) { + /* only if tc is not a typedef (no '|' on it) */ + if (tc->str && ti->str && !strstr(tc->str,"|")) { + typeequiv = SWIG_TypeEquiv(ti->str,tc->str); + } + } + if (typeequiv) { + /* Already exists in the table. Just add additional types to the list */ + if (ti->clientdata) tc->clientdata = ti->clientdata; + head = tc; + next = tc->next; + goto l1; + } + tc = tc->prev; + } + head = ti; + next = 0; + + /* Place in list */ + ti->prev = *tl; + *tl = 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(const 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 +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_type_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->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; +} + +/* + Search for a swig_type_info structure +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryTL(swig_type_info *tl, const char *name) { + swig_type_info *ty = tl; + while (ty) { + if (ty->str && (SWIG_TypeEquiv(ty->str,name))) 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_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) { + swig_type_info *tc, *equiv; + if (ti->clientdata) return; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = tl; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientDataTL(tl,tc,clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static char hex[17] = "0123456789abcdef"; + unsigned char *u = (unsigned char *) ptr; + const unsigned char *eu = u + sz; + register unsigned char uu; + for (; u != eu; ++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 int d = *(c++); + register unsigned char uu = 0; + 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; +} + +/* + 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_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) { + swig_type_info *equiv = type->next; + swig_type_info *tc; + if (!type->clientdata) return; + while (equiv) { + if (!equiv->converter) { + tc = tl; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata) + SWIG_TypeClientDataTL(tl,tc, type->clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} + +/* + 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 + +/*********************************************************************** + * 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. + ************************************************************************/ + + +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if !defined(STATIC_LINKED) +# define SWIGEXPORT(a) __declspec(dllexport) a +# else +# define SWIGEXPORT(a) a +# endif +#else +# define SWIGEXPORT(a) a +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/*************************************************************************/ + + +/* The static type info list */ + +static swig_type_info *swig_type_list = 0; +static swig_type_info **swig_type_list_handle = &swig_type_list; + + +/* Register a type mapping with the type-checking */ +static swig_type_info * +SWIG_TypeRegister(swig_type_info *ti) { + return SWIG_TypeRegisterTL(swig_type_list_handle, ti); +} + +/* Search for a swig_type_info structure */ +static swig_type_info * +SWIG_TypeQuery(const char *name) { + return SWIG_TypeQueryTL(*swig_type_list_handle, name); +} + +/* Set the clientdata field for a type */ +static void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata); +} + +/* 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. +*/ +static void +SWIG_PropagateClientData(swig_type_info *type) { + SWIG_PropagateClientDataTL(*swig_type_list_handle, type); +} + +#ifdef __cplusplus +} +#endif + +/* ----------------------------------------------------------------------------- + * SWIG API. Portion that goes into the runtime + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------------------------------------------------------------------- + * for internal method declarations + * ----------------------------------------------------------------------------- */ + +#ifndef SWIGINTERN +#define SWIGINTERN static +#endif + +#ifndef SWIGINTERNSHORT +#ifdef __cplusplus +#define SWIGINTERNSHORT static inline +#else /* C case */ +#define SWIGINTERNSHORT static +#endif /* __cplusplus */ +#endif + + +/* + Exception handling in wrappers +*/ +#define SWIG_fail goto fail +#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) +#define SWIG_append_errmsg(msg) SWIG_Python_AddErrMesg(msg,0) +#define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1) +#define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj) +#define SWIG_null_ref(type) SWIG_Python_NullRef(type) + +/* + Contract support +*/ +#define SWIG_contract_assert(expr, msg) \ + if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else + +/* ----------------------------------------------------------------------------- + * 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 + +/* Constant information structure */ +typedef struct swig_const_info { + int type; + char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_const_info; + + +/* ----------------------------------------------------------------------------- + * Alloc. memory flags + * ----------------------------------------------------------------------------- */ +#define SWIG_OLDOBJ 1 +#define SWIG_NEWOBJ SWIG_OLDOBJ + 1 +#define SWIG_PYSTR SWIG_NEWOBJ + 1 + +#ifdef __cplusplus +} +#endif + + +/*********************************************************************** + * pyrun.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) + ************************************************************************/ + +/* 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) + + +/* Python-specific SWIG API */ +#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) + + +/* ----------------------------------------------------------------------------- + * Pointer declarations + * ----------------------------------------------------------------------------- */ +/* + Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent + C/C++ pointers in the python side. Very useful for debugging, but + not always safe. +*/ +#if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES) +# define SWIG_COBJECT_TYPES +#endif + +/* Flags for pointer conversion */ +#define SWIG_POINTER_EXCEPTION 0x1 +#define SWIG_POINTER_DISOWN 0x2 + + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------------------------------------------------------------------- + * Create a new pointer string + * ----------------------------------------------------------------------------- */ + +#ifndef SWIG_BUFFER_SIZE +#define SWIG_BUFFER_SIZE 1024 +#endif + +#if defined(SWIG_COBJECT_TYPES) +#if !defined(SWIG_COBJECT_PYTHON) +/* ----------------------------------------------------------------------------- + * Implements a simple Swig Object type, and use it instead of PyCObject + * ----------------------------------------------------------------------------- */ + +typedef struct { + PyObject_HEAD + void *ptr; + const char *desc; +} PySwigObject; + +/* Declarations for objects of type PySwigObject */ + +SWIGRUNTIME int +PySwigObject_print(PySwigObject *v, FILE *fp, int flags) +{ + char result[SWIG_BUFFER_SIZE]; + if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) { + fputs("", fp); + return 0; + } else { + return 1; + } +} + +SWIGRUNTIME PyObject * +PySwigObject_repr(PySwigObject *v) +{ + char result[SWIG_BUFFER_SIZE]; + return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? + PyString_FromFormat("", result) : 0; +} + +SWIGRUNTIME PyObject * +PySwigObject_str(PySwigObject *v) +{ + char result[SWIG_BUFFER_SIZE]; + return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? + PyString_FromString(result) : 0; +} + +SWIGRUNTIME PyObject * +PySwigObject_long(PySwigObject *v) +{ + return PyLong_FromUnsignedLong((unsigned long) v->ptr); +} + +SWIGRUNTIME PyObject * +PySwigObject_oct(PySwigObject *v) +{ + char buf[100]; + unsigned long x = (unsigned long)v->ptr; + if (x == 0) + strcpy(buf, "0"); + else + PyOS_snprintf(buf, sizeof(buf), "0%lo", x); + return PyString_FromString(buf); +} + +SWIGRUNTIME PyObject * +PySwigObject_hex(PySwigObject *v) +{ + char buf[100]; + PyOS_snprintf(buf, sizeof(buf), "0x%lx", (unsigned long)v->ptr); + return PyString_FromString(buf); +} + +SWIGRUNTIME int +PySwigObject_compare(PySwigObject *v, PySwigObject *w) +{ + int c = strcmp(v->desc, w->desc); + if (c) { + return c; + } else { + void *i = v->ptr; + void *j = w->ptr; + return (i < j) ? -1 : (i > j) ? 1 : 0; + } +} + +SWIGRUNTIME void +PySwigObject_dealloc(PySwigObject *self) +{ + PyObject_DEL(self); +} + +SWIGRUNTIME PyTypeObject* +PySwigObject_GetType() { + static char PySwigObject_Type__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 >= 0x02000000 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ +#endif + }; + + static int type_init = 0; + static PyTypeObject PySwigObject_Type; + + if (!type_init) { + PyTypeObject tmp = { + PyObject_HEAD_INIT(&PyType_Type) + 0, /*ob_size*/ + "PySwigObject", /*tp_name*/ + sizeof(PySwigObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + /* methods */ + (destructor)PySwigObject_dealloc, /*tp_dealloc*/ + (printfunc)PySwigObject_print, /*tp_print*/ + (getattrfunc)0, /*tp_getattr*/ + (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*/ + /* Space for future expansion */ + 0L,0L,0L,0L, + PySwigObject_Type__doc__, /* Documentation string */ +#if PY_VERSION_HEX >= 0x02000000 + 0, /* tp_traverse */ + 0, /* tp_clear */ +#endif +#if PY_VERSION_HEX >= 0x02010000 + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#endif +#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 + }; + + PySwigObject_Type = tmp; + type_init = 1; + } + + return &PySwigObject_Type; +} + +SWIGRUNTIME PyObject * +PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc) +{ + PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_GetType()); + if (self == NULL) return NULL; + self->ptr = ptr; + self->desc = desc; + return (PyObject *)self; +} + +SWIGRUNTIMEINLINE void * +PySwigObject_AsVoidPtr(PyObject *self) +{ + return ((PySwigObject *)self)->ptr; +} + +SWIGRUNTIMEINLINE const char * +PySwigObject_GetDesc(PyObject *self) +{ + return ((PySwigObject *)self)->desc; +} + +SWIGRUNTIMEINLINE int +PySwigObject_Check(PyObject *op) { + return ((op)->ob_type == PySwigObject_GetType()) + || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0); +} + +/* ----------------------------------------------------------------------------- + * Implements a simple Swig Packed type, and use it instead of string + * ----------------------------------------------------------------------------- */ + +typedef struct { + PyObject_HEAD + void *pack; + const char *desc; + size_t size; +} PySwigPacked; + +SWIGRUNTIME int +PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags) +{ + char result[SWIG_BUFFER_SIZE]; + fputs("pack, v->size, 0, sizeof(result))) { + fputs("at ", fp); + fputs(result, fp); + } + fputs(v->desc,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->desc); + } else { + return PyString_FromFormat("", v->desc); + } +} + +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->desc); + } else { + return PyString_FromFormat("%s", v->desc); + } +} + +SWIGRUNTIME int +PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w) +{ + int c = strcmp(v->desc, w->desc); + if (c) { + return c; + } else { + 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 void +PySwigPacked_dealloc(PySwigPacked *self) +{ + free(self->pack); + PyObject_DEL(self); +} + +SWIGRUNTIME PyTypeObject* +PySwigPacked_GetType() { + static char PySwigPacked_Type__doc__[] = + "Swig object carries a C/C++ instance pointer"; + static int type_init = 0; + + static PyTypeObject PySwigPacked_Type; + if (!type_init) { + PyTypeObject tmp = { + PyObject_HEAD_INIT(&PyType_Type) + 0, /*ob_size*/ + "PySwigPacked", /*tp_name*/ + sizeof(PySwigPacked), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + /* methods */ + (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*/ + /* Space for future expansion */ + 0L,0L,0L,0L, + PySwigPacked_Type__doc__, /* Documentation string */ +#if PY_VERSION_HEX >= 0x02000000 + 0, /* tp_traverse */ + 0, /* tp_clear */ +#endif +#if PY_VERSION_HEX >= 0x02010000 + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#endif +#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 + }; + + PySwigPacked_Type = tmp; + type_init = 1; + } + + + + return &PySwigPacked_Type; +} + +SWIGRUNTIME PyObject * +PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc) +{ + PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_GetType()); + if (self == NULL) { + return NULL; + } else { + void *pack = malloc(size); + memcpy(pack, ptr, size); + self->pack = pack; + self->desc = desc; + self->size = size; + return (PyObject *) self; + } +} + +SWIGRUNTIMEINLINE const char * +PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size) +{ + PySwigPacked *self = (PySwigPacked *)obj; + if (self->size != size) return 0; + memcpy(ptr, self->pack, size); + return self->desc; +} + +SWIGRUNTIMEINLINE const char * +PySwigPacked_GetDesc(PyObject *self) +{ + return ((PySwigPacked *)self)->desc; +} + +SWIGRUNTIMEINLINE int +PySwigPacked_Check(PyObject *op) { + return ((op)->ob_type == PySwigPacked_GetType()) + || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0); +} + +#else +/* ----------------------------------------------------------------------------- + * Use the old Python PyCObject instead of PySwigObject + * ----------------------------------------------------------------------------- */ + +#define PySwigObject_GetDesc(obj) PyCObject_GetDesc(obj) +#define PySwigObject_Check(obj) PyCObject_Check(obj) +#define PySwigObject_AsVoidPtr(obj) PyCObject_AsVoidPtr(obj) +#define PySwigObject_FromVoidPtrAndDesc(p, d) PyCObject_FromVoidPtrAndDesc(p, d, NULL) + +#endif + +#endif + +/* ----------------------------------------------------------------------------- + * errors manipulation + * ----------------------------------------------------------------------------- */ + +SWIGRUNTIME void +SWIG_Python_TypeError(const char *type, PyObject *obj) +{ + if (type) { +#if defined(SWIG_COBJECT_TYPES) + if (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_DECREF(str); + return; + } + } + PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); + } else { + PyErr_Format(PyExc_TypeError, "unexpected type is received"); + } +} + +SWIGRUNTIMEINLINE void +SWIG_Python_NullRef(const char *type) +{ + if (type) { + PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type); + } else { + PyErr_Format(PyExc_TypeError, "null reference was received"); + } +} + +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); + } + return 1; + } else { + return 0; + } +} + +SWIGRUNTIME int +SWIG_Python_ArgFail(int argnum) +{ + if (PyErr_Occurred()) { + /* add information about failing argument */ + char mesg[256]; + sprintf(mesg, "argument number %d:", argnum); + return SWIG_Python_AddErrMesg(mesg, 1); + } else { + return 0; + } +} + + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +/* Convert a pointer value */ +SWIGRUNTIME int +SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) { + swig_type_info *tc; + const char *c = 0; + static PyObject *SWIG_this = 0; + int newref = 0; + PyObject *pyobj = 0; + void *vptr; + + if (!obj) return 0; + if (obj == Py_None) { + *ptr = 0; + return 0; + } + +#ifdef SWIG_COBJECT_TYPES + if (!(PySwigObject_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 (!PySwigObject_Check(obj)) { + Py_DECREF(obj); + goto type_error; + } + } + vptr = PySwigObject_AsVoidPtr(obj); + c = (const char *) PySwigObject_GetDesc(obj); + if (newref) { Py_DECREF(obj); } + goto type_check; +#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_AS_STRING(obj); + /* Pointer values must start with leading underscore */ + c = SWIG_UnpackVoidPtr(c, &vptr, ty->name); + if (newref) { Py_DECREF(obj); } + if (!c) goto type_error; +#endif + +type_check: + + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) goto type_error; + *ptr = SWIG_TypeCast(tc,vptr); + } else { + *ptr = vptr; + } + + if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) { + PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False); + } + return 0; + +type_error: + PyErr_Clear(); + if (pyobj && !obj) { + obj = pyobj; + if (PyCFunction_Check(obj)) { + /* here we get the method pointer for callbacks */ + char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); + c = doc ? strstr(doc, "swig_ptr: ") : 0; + if (c) { + c = SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name); + if (!c) goto type_error; + goto type_check; + } + } + } + if (flags & SWIG_POINTER_EXCEPTION) { + if (ty) { + SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); + } else { + SWIG_Python_TypeError("C/C++ pointer", obj); + } + } + return -1; +} + +/* Convert a pointer value, signal an exception on a type mismatch */ +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); + } + } + return result; +} + +/* Convert a packed value value */ +SWIGRUNTIME int +SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) { + swig_type_info *tc; + const char *c = 0; + +#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) + c = PySwigPacked_UnpackData(obj, ptr, sz); +#else + if ((!obj) || (!PyString_Check(obj))) goto type_error; + c = PyString_AS_STRING(obj); + /* Pointer values must start with leading underscore */ + c = SWIG_UnpackDataName(c, ptr, sz, ty->name); +#endif + if (!c) goto type_error; + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) goto type_error; + } + return 0; + +type_error: + PyErr_Clear(); + if (flags & SWIG_POINTER_EXCEPTION) { + if (ty) { + SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); + } else { + SWIG_Python_TypeError("C/C++ packed data", obj); + } + } + return -1; +} + +/* Create a new array object */ +SWIGRUNTIME PyObject * +SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) { + PyObject *robj = 0; + if (!ptr) { + Py_INCREF(Py_None); + return Py_None; + } +#ifdef SWIG_COBJECT_TYPES + robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name); +#else + { + char result[SWIG_BUFFER_SIZE]; + robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ? + PyString_FromString(result) : 0; + } +#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_SetAttrString(inst,(char*)"thisown",Py_True); + } + robj = inst; + } + } + return robj; +} + +SWIGRUNTIME PyObject * +SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { + PyObject *robj = 0; + if (!ptr) { + Py_INCREF(Py_None); + return Py_None; + } +#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) + robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name); +#else + { + char result[SWIG_BUFFER_SIZE]; + robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ? + PyString_FromString(result) : 0; + } +#endif + return robj; +} + +/* -----------------------------------------------------------------------------* + * Get type list + * -----------------------------------------------------------------------------*/ + +#ifdef SWIG_LINK_RUNTIME +void *SWIG_ReturnGlobalTypeList(void *); +#endif + +SWIGRUNTIME swig_type_info ** +SWIG_Python_GetTypeListHandle() { + 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_type_info **) type_pointer; +} + +/* + Search for a swig_type_info structure + */ +SWIGRUNTIMEINLINE swig_type_info * +SWIG_Python_GetTypeList() { + swig_type_info **tlh = SWIG_Python_GetTypeListHandle(); + return tlh ? *tlh : (swig_type_info*)0; +} + +#define SWIG_Runtime_GetTypeList SWIG_Python_GetTypeList + +#ifdef __cplusplus +} +#endif + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_lwes_event swig_types[0] +#define SWIGTYPE_size_t swig_types[1] +#define SWIGTYPE_p_unsigned_int swig_types[2] +#define SWIGTYPE_p_long_long swig_types[3] +#define SWIGTYPE_p_unsigned_long_long swig_types[4] +#define SWIGTYPE_p_short swig_types[5] +#define SWIGTYPE_p_unsigned_short swig_types[6] +#define SWIGTYPE_p_p_char swig_types[7] +#define SWIGTYPE_p_char swig_types[8] +#define SWIGTYPE_ptrdiff_t swig_types[9] +#define SWIGTYPE_p_lwes_emitter swig_types[10] +#define SWIGTYPE_p_in_addr swig_types[11] +#define SWIGTYPE_p_int swig_types[12] +#define SWIGTYPE_p_lwes_event_type_db swig_types[13] +static swig_type_info *swig_types[15]; + +/* -------- TYPES TABLE (END) -------- */ + + +/*----------------------------------------------- + @(target):= _lwes.so + ------------------------------------------------*/ +#define SWIG_init init_lwes + +#define SWIG_name "_lwes" + +#define SWIG_FILE_WITH_INIT +#include "lwes.h" + + +/* returns SWIG_OLDOBJ if the input is a raw char*, SWIG_PYSTR if is a PyString */ +SWIGINTERN int +SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize) +{ + static swig_type_info* pchar_info = 0; + char* vptr = 0; + if (!pchar_info) pchar_info = SWIG_TypeQuery("char *"); + if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_info, 0) != -1) { + if (cptr) *cptr = vptr; + if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; + return SWIG_OLDOBJ; + } else { + PyErr_Clear(); + if (PyString_Check(obj)) { + if (cptr) { + *cptr = PyString_AS_STRING(obj); + if (psize) { + *psize = PyString_GET_SIZE(obj) + 1; + } + } + return SWIG_PYSTR; + } + } + if (cptr) { + SWIG_type_error("char *", obj); + } + return 0; +} + + +SWIGINTERNSHORT int +SWIG_AsCharPtr(PyObject *obj, char **val) +{ + if (SWIG_AsCharPtrAndSize(obj, val, (size_t*)(0))) { + return 1; + } + if (val) { + PyErr_Clear(); + SWIG_type_error("char *", obj); + } + return 0; +} + + + /*@/usr/share/swig/1.3.24/python/pymacros.swg,66,SWIG_define@*/ +#define SWIG_From_int PyInt_FromLong +/*@@*/ + + +#include + + +SWIGINTERN int + SWIG_CheckLongInRange(long value, long min_value, long max_value, + const char *errmsg) +{ + if (value < min_value) { + if (errmsg) { + PyErr_Format(PyExc_OverflowError, + "value %ld is less than '%s' minimum %ld", + value, errmsg, min_value); + } + return 0; + } else if (value > max_value) { + if (errmsg) { + PyErr_Format(PyExc_OverflowError, + "value %ld is greater than '%s' maximum %ld", + value, errmsg, max_value); + } + return 0; + } + return 1; +} + + +SWIGINTERN int + SWIG_AsVal_long(PyObject * obj, long* val) +{ + if (PyInt_Check(obj)) { + if (val) *val = PyInt_AS_LONG(obj); + return 1; + } + if (PyLong_Check(obj)) { + long v = PyLong_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return 1; + } else { + if (!val) PyErr_Clear(); + return 0; + } + } + if (val) { + SWIG_type_error("long", obj); + } + return 0; + } + + +#if INT_MAX != LONG_MAX +SWIGINTERN int + SWIG_AsVal_int(PyObject *obj, int *val) +{ + const char* errmsg = val ? "int" : (char*)0; + long v; + if (SWIG_AsVal_long(obj, &v)) { + if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) { + if (val) *val = (int)(v); + return 1; + } else { + return 0; + } + } else { + PyErr_Clear(); + } + if (val) { + SWIG_type_error(errmsg, obj); + } + return 0; +} +#else +SWIGINTERNSHORT int + SWIG_AsVal_int(PyObject *obj, int *val) +{ + return SWIG_AsVal_long(obj,(long*)val); +} +#endif + + +SWIGINTERNSHORT int +SWIG_As_int(PyObject* obj) +{ + int v; + if (!SWIG_AsVal_int(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(int)); + } + return v; +} + + +SWIGINTERN int + SWIG_AsVal_short(PyObject *obj, short *val) +{ + const char* errmsg = val ? "short" : (char*)0; + long v; + if (SWIG_AsVal_long(obj, &v)) { + if (SWIG_CheckLongInRange(v, SHRT_MIN, SHRT_MAX, errmsg)) { + if (val) *val = (short)(v); + return 1; + } else { + return 0; + } + } else { + PyErr_Clear(); + } + if (val) { + SWIG_type_error(errmsg, obj); + } + return 0; +} + + +SWIGINTERNSHORT short +SWIG_As_short(PyObject* obj) +{ + short v; + if (!SWIG_AsVal_short(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(short)); + } + return v; +} + + +SWIGINTERNSHORT int +SWIG_Check_int(PyObject* obj) +{ + return SWIG_AsVal_int(obj, (int*)0); +} + + +SWIGINTERNSHORT int +SWIG_Check_short(PyObject* obj) +{ + return SWIG_AsVal_short(obj, (short*)0); +} + + +SWIGINTERNSHORT int + SWIG_CheckUnsignedLongInRange(unsigned long value, + unsigned long max_value, + const char *errmsg) +{ + if (value > max_value) { + if (errmsg) { + PyErr_Format(PyExc_OverflowError, + "value %lu is greater than '%s' minimum %lu", + value, errmsg, max_value); + } + return 0; + } + return 1; + } + + +SWIGINTERN int + SWIG_AsVal_unsigned_SS_long(PyObject *obj, unsigned long *val) +{ + if (PyInt_Check(obj)) { + long v = PyInt_AS_LONG(obj); + if (v >= 0) { + if (val) *val = v; + return 1; + } + } + if (PyLong_Check(obj)) { + unsigned long v = PyLong_AsUnsignedLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return 1; + } else { + if (!val) PyErr_Clear(); + return 0; + } + } + if (val) { + SWIG_type_error("unsigned long", obj); + } + return 0; +} + + +SWIGINTERN int + SWIG_AsVal_unsigned_SS_short(PyObject *obj, unsigned short *val) +{ + const char* errmsg = val ? "unsigned short" : (char*)0; + unsigned long v; + if (SWIG_AsVal_unsigned_SS_long(obj, &v)) { + if (SWIG_CheckUnsignedLongInRange(v, USHRT_MAX, errmsg)) { + if (val) *val = (unsigned short)(v); + return 1; + } else { + return 0; + } + } else { + PyErr_Clear(); + } + if (val) { + SWIG_type_error(errmsg, obj); + } + return 0; +} + + +SWIGINTERNSHORT unsigned short +SWIG_As_unsigned_SS_short(PyObject* obj) +{ + unsigned short v; + if (!SWIG_AsVal_unsigned_SS_short(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(unsigned short)); + } + return v; +} + + +SWIGINTERNSHORT int +SWIG_Check_unsigned_SS_short(PyObject* obj) +{ + return SWIG_AsVal_unsigned_SS_short(obj, (unsigned short*)0); +} + + +#if UINT_MAX != ULONG_MAX +SWIGINTERN int + SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val) +{ + const char* errmsg = val ? "unsigned int" : (char*)0; + unsigned long v; + if (SWIG_AsVal_unsigned_SS_long(obj, &v)) { + if (SWIG_CheckUnsignedLongInRange(v, INT_MAX, errmsg)) { + if (val) *val = (unsigned int)(v); + return 1; + } + } else { + PyErr_Clear(); + } + if (val) { + SWIG_type_error(errmsg, obj); + } + return 0; +} +#else +SWIGINTERNSHORT unsigned int + SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val) +{ + return SWIG_AsVal_unsigned_SS_long(obj,(unsigned long *)val); +} +#endif + + +SWIGINTERNSHORT unsigned int +SWIG_As_unsigned_SS_int(PyObject* obj) +{ + unsigned int v; + if (!SWIG_AsVal_unsigned_SS_int(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(unsigned int)); + } + return v; +} + + +SWIGINTERNSHORT int +SWIG_Check_unsigned_SS_int(PyObject* obj) +{ + return SWIG_AsVal_unsigned_SS_int(obj, (unsigned int*)0); +} + + +SWIGINTERN int + SWIG_AsVal_unsigned_SS_long_SS_long(PyObject *obj, unsigned long long *val) +{ + unsigned long v; + if (PyLong_Check(obj)) { + unsigned long long v = PyLong_AsUnsignedLongLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return 1; + } else { + if (!val) PyErr_Clear(); + return 0; + } + } + if (SWIG_AsVal_unsigned_SS_long(obj,&v)) { + if (val) *val = v; + return 1; + } else { + PyErr_Clear(); + } + if (val) { + SWIG_type_error("unsigned long long", obj); + } + return 0; +} + + +SWIGINTERNSHORT unsigned long long +SWIG_As_unsigned_SS_long_SS_long(PyObject* obj) +{ + unsigned long long v; + if (!SWIG_AsVal_unsigned_SS_long_SS_long(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(unsigned long long)); + } + return v; +} + + +SWIGINTERNSHORT int +SWIG_Check_unsigned_SS_long_SS_long(PyObject* obj) +{ + return SWIG_AsVal_unsigned_SS_long_SS_long(obj, (unsigned long long*)0); +} + + +SWIGINTERN int + SWIG_AsVal_long_SS_long(PyObject *obj, long long *val) +{ + if (PyLong_Check(obj)) { + long long v = PyLong_AsLongLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return 1; + } else { + if (!val) PyErr_Clear(); + return 0; + } + } + if (PyInt_Check(obj)) { + if (val) *val = PyInt_AS_LONG(obj); + return 1; + } + if (val) { + SWIG_type_error("long long", obj); + } + return 0; +} + + +SWIGINTERNSHORT long long +SWIG_As_long_SS_long(PyObject* obj) +{ + long long v; + if (!SWIG_AsVal_long_SS_long(obj, &v)) { + /* + this is needed to make valgrind/purify happier. + */ + memset((void*)&v, 0, sizeof(long long)); + } + return v; +} + + +SWIGINTERNSHORT int +SWIG_Check_long_SS_long(PyObject* obj) +{ + return SWIG_AsVal_long_SS_long(obj, (long long*)0); +} + +#ifdef __cplusplus +extern "C" { +#endif +static PyObject *_wrap_lwes_event_type_db_create(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 = (char *) 0 ; + struct lwes_event_type_db *result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:lwes_event_type_db_create",&obj0)) goto fail; + if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) { + SWIG_arg_fail(1);SWIG_fail; + } + result = (struct lwes_event_type_db *)lwes_event_type_db_create(arg1); + + resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_lwes_event_type_db, 0); + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_type_db_destroy(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event_type_db *arg1 = (struct lwes_event_type_db *) 0 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:lwes_event_type_db_destroy",&obj0)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event_type_db, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + result = (int)lwes_event_type_db_destroy(arg1); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_emitter_create(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + int arg4 ; + short arg5 ; + struct lwes_emitter *result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOOOO:lwes_emitter_create",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail; + if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) { + SWIG_arg_fail(1);SWIG_fail; + } + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (int)(SWIG_As_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + { + arg4 = (int)(SWIG_As_int(obj3)); + if (SWIG_arg_fail(4)) SWIG_fail; + } + { + arg5 = (short)(SWIG_As_short(obj4)); + if (SWIG_arg_fail(5)) SWIG_fail; + } + result = (struct lwes_emitter *)lwes_emitter_create(arg1,arg2,arg3,arg4,arg5); + + resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_lwes_emitter, 0); + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_emitter_create_with_ttl(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + int arg4 ; + short arg5 ; + int arg6 ; + struct lwes_emitter *result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOOOOO:lwes_emitter_create_with_ttl",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail; + if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) { + SWIG_arg_fail(1);SWIG_fail; + } + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (int)(SWIG_As_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + { + arg4 = (int)(SWIG_As_int(obj3)); + if (SWIG_arg_fail(4)) SWIG_fail; + } + { + arg5 = (short)(SWIG_As_short(obj4)); + if (SWIG_arg_fail(5)) SWIG_fail; + } + { + arg6 = (int)(SWIG_As_int(obj5)); + if (SWIG_arg_fail(6)) SWIG_fail; + } + result = (struct lwes_emitter *)lwes_emitter_create_with_ttl(arg1,arg2,arg3,arg4,arg5,arg6); + + resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_lwes_emitter, 0); + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_emitter_emit(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_emitter *arg1 = (struct lwes_emitter *) 0 ; + struct lwes_event *arg2 = (struct lwes_event *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OO:lwes_emitter_emit",&obj0,&obj1)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_emitter, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(2)) SWIG_fail; + result = (int)lwes_emitter_emit(arg1,arg2); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_emitter_emitto(PyObject *self, PyObject *args) { + PyObject *resultobj; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + struct lwes_emitter *arg4 = (struct lwes_emitter *) 0 ; + struct lwes_event *arg5 = (struct lwes_event *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOOOO:lwes_emitter_emitto",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail; + if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) { + SWIG_arg_fail(1);SWIG_fail; + } + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (int)(SWIG_As_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_lwes_emitter, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(4)) SWIG_fail; + SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(5)) SWIG_fail; + result = (int)lwes_emitter_emitto(arg1,arg2,arg3,arg4,arg5); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_emitter_destroy(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_emitter *arg1 = (struct lwes_emitter *) 0 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:lwes_emitter_destroy",&obj0)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_emitter, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + result = (int)lwes_emitter_destroy(arg1); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_create(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event_type_db *arg1 = (struct lwes_event_type_db *) 0 ; + char *arg2 = (char *) 0 ; + struct lwes_event *result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OO:lwes_event_create",&obj0,&obj1)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event_type_db, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + result = (struct lwes_event *)lwes_event_create(arg1,arg2); + + resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_lwes_event, 0); + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_create_with_encoding(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event_type_db *arg1 = (struct lwes_event_type_db *) 0 ; + char *arg2 = (char *) 0 ; + short arg3 ; + struct lwes_event *result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_create_with_encoding",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event_type_db, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (short)(SWIG_As_short(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (struct lwes_event *)lwes_event_create_with_encoding(arg1,arg2,arg3); + + resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_lwes_event, 0); + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_U_INT_16(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned short arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_U_INT_16",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (unsigned short)(SWIG_As_unsigned_SS_short(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_U_INT_16(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_U_INT_16(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned short *arg3 = (unsigned short *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_U_INT_16",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_unsigned_short, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_U_INT_16(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_INT_16(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + short arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_INT_16",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (short)(SWIG_As_short(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_INT_16(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_INT_16(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + short *arg3 = (short *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_INT_16",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_INT_16(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_U_INT_32(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned int arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_U_INT_32",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (unsigned int)(SWIG_As_unsigned_SS_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_U_INT_32(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_U_INT_32(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned int *arg3 = (unsigned int *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_U_INT_32",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_unsigned_int, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_U_INT_32(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_INT_32(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_INT_32",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (int)(SWIG_As_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_INT_32(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_INT_32(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + int *arg3 = (int *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_INT_32",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_INT_32(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_U_INT_64(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned long long arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_U_INT_64",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (unsigned long long)(SWIG_As_unsigned_SS_long_SS_long(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_U_INT_64(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_U_INT_64(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + unsigned long long *arg3 = (unsigned long long *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_U_INT_64",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_unsigned_long_long, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_U_INT_64(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_INT_64(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + long long arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_INT_64",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (long long)(SWIG_As_long_SS_long(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_INT_64(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_INT_64(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + long long *arg3 = (long long *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_INT_64",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_long_long, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_INT_64(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_STRING(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_STRING",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + if (!SWIG_AsCharPtr(obj2, (char**)&arg3)) { + SWIG_arg_fail(3);SWIG_fail; + } + result = (int)lwes_event_set_STRING(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_STRING(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + char **arg3 = (char **) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_STRING",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_p_char, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_STRING(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_IP_ADDR_w_string(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_IP_ADDR_w_string",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + if (!SWIG_AsCharPtr(obj2, (char**)&arg3)) { + SWIG_arg_fail(3);SWIG_fail; + } + result = (int)lwes_event_set_IP_ADDR_w_string(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_IP_ADDR(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + struct in_addr *arg3 = (struct in_addr *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_IP_ADDR",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_in_addr, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_IP_ADDR(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_set_BOOLEAN(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_set_BOOLEAN",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + { + arg3 = (int)(SWIG_As_int(obj2)); + if (SWIG_arg_fail(3)) SWIG_fail; + } + result = (int)lwes_event_set_BOOLEAN(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_get_BOOLEAN(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + char *arg2 = (char *) 0 ; + int *arg3 = (int *) 0 ; + int result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"OOO:lwes_event_get_BOOLEAN",&obj0,&obj1,&obj2)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) { + SWIG_arg_fail(2);SWIG_fail; + } + SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(3)) SWIG_fail; + result = (int)lwes_event_get_BOOLEAN(arg1,arg2,arg3); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyObject *_wrap_lwes_event_destroy(PyObject *self, PyObject *args) { + PyObject *resultobj; + struct lwes_event *arg1 = (struct lwes_event *) 0 ; + int result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:lwes_event_destroy",&obj0)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_lwes_event, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + result = (int)lwes_event_destroy(arg1); + + { + resultobj = SWIG_From_int((int)(result)); + } + return resultobj; + fail: + return NULL; +} + + +static PyMethodDef SwigMethods[] = { + { (char *)"lwes_event_type_db_create", _wrap_lwes_event_type_db_create, METH_VARARGS, NULL}, + { (char *)"lwes_event_type_db_destroy", _wrap_lwes_event_type_db_destroy, METH_VARARGS, NULL}, + { (char *)"lwes_emitter_create", _wrap_lwes_emitter_create, METH_VARARGS, NULL}, + { (char *)"lwes_emitter_create_with_ttl", _wrap_lwes_emitter_create_with_ttl, METH_VARARGS, NULL}, + { (char *)"lwes_emitter_emit", _wrap_lwes_emitter_emit, METH_VARARGS, NULL}, + { (char *)"lwes_emitter_emitto", _wrap_lwes_emitter_emitto, METH_VARARGS, NULL}, + { (char *)"lwes_emitter_destroy", _wrap_lwes_emitter_destroy, METH_VARARGS, NULL}, + { (char *)"lwes_event_create", _wrap_lwes_event_create, METH_VARARGS, NULL}, + { (char *)"lwes_event_create_with_encoding", _wrap_lwes_event_create_with_encoding, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_U_INT_16", _wrap_lwes_event_set_U_INT_16, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_U_INT_16", _wrap_lwes_event_get_U_INT_16, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_INT_16", _wrap_lwes_event_set_INT_16, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_INT_16", _wrap_lwes_event_get_INT_16, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_U_INT_32", _wrap_lwes_event_set_U_INT_32, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_U_INT_32", _wrap_lwes_event_get_U_INT_32, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_INT_32", _wrap_lwes_event_set_INT_32, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_INT_32", _wrap_lwes_event_get_INT_32, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_U_INT_64", _wrap_lwes_event_set_U_INT_64, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_U_INT_64", _wrap_lwes_event_get_U_INT_64, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_INT_64", _wrap_lwes_event_set_INT_64, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_INT_64", _wrap_lwes_event_get_INT_64, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_STRING", _wrap_lwes_event_set_STRING, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_STRING", _wrap_lwes_event_get_STRING, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_IP_ADDR_w_string", _wrap_lwes_event_set_IP_ADDR_w_string, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_IP_ADDR", _wrap_lwes_event_get_IP_ADDR, METH_VARARGS, NULL}, + { (char *)"lwes_event_set_BOOLEAN", _wrap_lwes_event_set_BOOLEAN, METH_VARARGS, NULL}, + { (char *)"lwes_event_get_BOOLEAN", _wrap_lwes_event_get_BOOLEAN, METH_VARARGS, NULL}, + { (char *)"lwes_event_destroy", _wrap_lwes_event_destroy, METH_VARARGS, NULL}, + { NULL, NULL, 0, NULL } +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_lwes_event[] = {{"_p_lwes_event", 0, "struct lwes_event *", 0, 0, 0, 0},{"_p_lwes_event", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__size_t[] = {{"_size_t", 0, "size_t", 0, 0, 0, 0},{"_size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_unsigned_int[] = {{"_p_unsigned_int", 0, "unsigned int *", 0, 0, 0, 0},{"_p_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_long_long[] = {{"_p_long_long", 0, "long long *", 0, 0, 0, 0},{"_p_long_long", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_unsigned_long_long[] = {{"_p_unsigned_long_long", 0, "unsigned long long *", 0, 0, 0, 0},{"_p_unsigned_long_long", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_short[] = {{"_p_short", 0, "short *", 0, 0, 0, 0},{"_p_short", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_unsigned_short[] = {{"_p_unsigned_short", 0, "unsigned short *", 0, 0, 0, 0},{"_p_unsigned_short", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_p_char[] = {{"_p_p_char", 0, "char **", 0, 0, 0, 0},{"_p_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_char[] = {{"_p_char", 0, "char *", 0, 0, 0, 0},{"_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__ptrdiff_t[] = {{"_ptrdiff_t", 0, "ptrdiff_t", 0, 0, 0, 0},{"_ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_lwes_emitter[] = {{"_p_lwes_emitter", 0, "struct lwes_emitter *", 0, 0, 0, 0},{"_p_lwes_emitter", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_in_addr[] = {{"_p_in_addr", 0, "struct in_addr *", 0, 0, 0, 0},{"_p_in_addr", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_lwes_event_type_db[] = {{"_p_lwes_event_type_db", 0, "struct lwes_event_type_db *", 0, 0, 0, 0},{"_p_lwes_event_type_db", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; + +static swig_type_info *swig_types_initial[] = { +_swigt__p_lwes_event, +_swigt__size_t, +_swigt__p_unsigned_int, +_swigt__p_long_long, +_swigt__p_unsigned_long_long, +_swigt__p_short, +_swigt__p_unsigned_short, +_swigt__p_p_char, +_swigt__p_char, +_swigt__ptrdiff_t, +_swigt__p_lwes_emitter, +_swigt__p_in_addr, +_swigt__p_int, +_swigt__p_lwes_event_type_db, +0 +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_const_info swig_const_table[] = { +{0, 0, 0, 0.0, 0, 0}}; + +#ifdef __cplusplus +} +#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)(); /* 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; + + static PyObject * + swig_varlink_repr(swig_varlinkobject *v) { + v = v; + return PyString_FromString(""); + } + + static int + swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) { + swig_globalvar *var; + flags = flags; + fprintf(fp,"Swig 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; + } + + static PyTypeObject varlinktype = { + PyObject_HEAD_INIT(0) + 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) */ + 0, /* 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 */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + 0, /* tp_flags */ + 0, /* tp_doc */ +#if PY_VERSION_HEX >= 0x02000000 + 0, /* tp_traverse */ + 0, /* tp_clear */ +#endif +#if PY_VERSION_HEX >= 0x02010000 + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#endif +#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 + }; + + /* Create a variable linking object for use later */ + static 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); + } + + static 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; + } + + /* ----------------------------------------------------------------------------- + * constants/methods manipulation + * ----------------------------------------------------------------------------- */ + + /* Install Constants */ + static 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_INT: + obj = PyInt_FromLong(constants[i].lvalue); + break; + case SWIG_PY_FLOAT: + obj = PyFloat_FromDouble(constants[i].dvalue); + break; + case SWIG_PY_STRING: + if (constants[i].pvalue) { + obj = PyString_FromString((char *) constants[i].pvalue); + } else { + Py_INCREF(Py_None); + obj = Py_None; + } + 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); + } + } + } + + /* -----------------------------------------------------------------------------*/ + /* Fix SwigMethods to carry the callback ptrs when needed */ + /* -----------------------------------------------------------------------------*/ + + static 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); + char *buff = ndoc; + void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue: (void *)(ci->lvalue); + 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; + } + } + } + } + + /* -----------------------------------------------------------------------------* + * Initialize type list + * -----------------------------------------------------------------------------*/ + +#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 */ + static 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 -1; + } + if (!o) { + PyErr_SetString(PyExc_TypeError, + "PyModule_AddObject() needs non-NULL value"); + return -1; + } + + 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 -1; + } + if (PyDict_SetItemString(dict, name, o)) + return -1; + Py_DECREF(o); + return 0; + } +#endif + + static swig_type_info ** + SWIG_Python_SetTypeListHandle(swig_type_info **type_list_handle) { + 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 *) type_list_handle, NULL); + if (pointer && module) { + PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); + } + return type_list_handle; + } + + static swig_type_info ** + SWIG_Python_LookupTypePointer(swig_type_info **type_list_handle) { + swig_type_info **type_pointer; + + /* first check if module already created */ + type_pointer = SWIG_Python_GetTypeListHandle(); + if (type_pointer) { + return type_pointer; + } else { + /* create a new module and variable */ + return SWIG_Python_SetTypeListHandle(type_list_handle); + } + } + +#ifdef __cplusplus +} +#endif + +/* -----------------------------------------------------------------------------* + * Partial Init method + * -----------------------------------------------------------------------------*/ + +#ifdef SWIG_LINK_RUNTIME +#ifdef __cplusplus +extern "C" +#endif +SWIGEXPORT(void *) SWIG_ReturnGlobalTypeList(void *); +#endif + +#ifdef __cplusplus +extern "C" +#endif +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(); + + /* Fix SwigMethods to carry the callback ptrs when needed */ + SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_types_initial); + + m = Py_InitModule((char *) SWIG_name, SwigMethods); + d = PyModule_GetDict(m); + + if (!typeinit) { +#ifdef SWIG_LINK_RUNTIME + swig_type_list_handle = (swig_type_info **) SWIG_ReturnGlobalTypeList(swig_type_list_handle); +#else +# ifndef SWIG_STATIC_RUNTIME + swig_type_list_handle = SWIG_Python_LookupTypePointer(swig_type_list_handle); +# endif +#endif + 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/setup.py b/setup.py new file mode 100644 index 0000000..15b3273 --- /dev/null +++ b/setup.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python + +""" +setup.py file for LWES binding +""" + +from distutils.core import setup, Extension +import commands + +def pkgconfig(*packages, **kw): + flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'} + for token in commands.getoutput("pkg-config --libs --cflags %s" % ' '.join(packages)).split(): + if flag_map.has_key(token[:2]): + kw.setdefault(flag_map.get(token[:2]), []).append(token[2:]) + else: + kw.setdefault('extra_link_args', []).append(token) + for k, v in kw.iteritems(): + kw[k] = list(set(v)) + return kw + +lwes_module = Extension('_lwes', + sources=['lwes_wrap.c'], + **pkgconfig('lwes-0') + ) + +setup (name='lwes', + version = '0.0.1', + author = "Michael P. Lum", + description = """Python bindings for the Light Weight Event System""", + ext_modules = [lwes_module], + py_modules = ["lwes"], + ) + -- 2.11.4.GIT