/* ------------------------------------------------------------
* The start of the Python initialization function
* ------------------------------------------------------------ */
%insert(init) "swiginit.swg"
/* 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;
typedef struct swig_varlinkobject {
swig_varlink_repr(swig_varlinkobject *v) {
return PyString_FromString("<Swig global variables>");
swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
fprintf(fp,"Swig global variables { ");
for (var = v->vars; var; var=var->next) {
fprintf(fp,"%s", var->name);
if (var->next) fprintf(fp,", ");
swig_varlink_getattr(swig_varlinkobject *v, char *n) {
swig_globalvar *var = v->vars;
if (strcmp(var->name,n) == 0) {
return (*var->get_attr)();
PyErr_SetString(PyExc_NameError,"Unknown C global variable");
swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
swig_globalvar *var = v->vars;
if (strcmp(var->name,n) == 0) {
return (*var->set_attr)(p);
PyErr_SetString(PyExc_NameError,"Unknown C global variable");
swig_varlink_type(void) {
static char varlink__doc__[] = "Swig var link object";
static PyTypeObject varlink_type
#if !defined(__cplusplus)
static int type_init = 0;
PyObject_HEAD_INIT(&PyType_Type)
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) */
(reprfunc) swig_varlink_repr, /* tp_repr */
varlink__doc__, /* tp_doc */
#if PY_VERSION_HEX >= 0x02000000
#if PY_VERSION_HEX >= 0x02010000
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 */
#if PY_VERSION_HEX >= 0x02030000
0,0,0,0 /* tp_alloc -> tp_next */
#if !defined(__cplusplus)
/* Create a variable linking object for use later */
SWIG_Python_newvarlink(void) {
swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
return ((PyObject*) result);
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));
size_t size = strlen(name)+1;
gv->name = (char *)malloc(size);
strncpy(gv->name,name,size);
/* -----------------------------------------------------------------------------
* constants/methods manipulation
* ----------------------------------------------------------------------------- */
SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
for (i = 0; constants[i].type; ++i) {
switch(constants[i].type) {
obj = PyInt_FromLong(constants[i].lvalue);
obj = PyFloat_FromDouble(constants[i].dvalue);
if (constants[i].pvalue) {
obj = PyString_FromString((char *) constants[i].pvalue);
obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
PyDict_SetItemString(d,constants[i].name,obj);
/* -----------------------------------------------------------------------------*/
/* Fix SwigMethods to carry the callback ptrs when needed */
/* -----------------------------------------------------------------------------*/
SWIG_Python_FixMethods(PyMethodDef *methods,
swig_const_info *const_table,
swig_type_info **types_initial) {
for (i = 0; methods[i].ml_name; ++i) {
char *c = methods[i].ml_doc;
if (c && (c = strstr(c, "swig_ptr: "))) {
for (j = 0; const_table[j].type; ++j) {
if (strncmp(const_table[j].name, name,
strlen(const_table[j].name)) == 0) {
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);
void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
strncpy(buff, methods[i].ml_doc, ldoc);
strncpy(buff, "swig_ptr: ", 10);
SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
methods[i].ml_doc = ndoc;
/* -----------------------------------------------------------------------------*
* -----------------------------------------------------------------------------*/
/* -----------------------------------------------------------------------------*
* -----------------------------------------------------------------------------*/
SWIGEXPORT void SWIG_init(void) {
static PyObject *SWIG_globals = 0;
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_type_initial);
m = Py_InitModule((char *) SWIG_name, SwigMethods);
SWIG_InitializeModule(0);
SWIG_InstallConstants(d,swig_const_table);