| Index: swig/Lib/python/pyinit.swg
|
| ===================================================================
|
| --- swig/Lib/python/pyinit.swg (revision 0)
|
| +++ swig/Lib/python/pyinit.swg (revision 0)
|
| @@ -0,0 +1,352 @@
|
| +/* ------------------------------------------------------------
|
| + * The start of the Python initialization function
|
| + * ------------------------------------------------------------ */
|
| +
|
| +%insert(init) "swiginit.swg"
|
| +
|
| +%init %{
|
| +
|
| +#ifdef __cplusplus
|
| +extern "C" {
|
| +#endif
|
| +
|
| +/* Python-specific SWIG API */
|
| +#define SWIG_newvarlink() SWIG_Python_newvarlink()
|
| +#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
|
| +#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
|
| +
|
| +/* -----------------------------------------------------------------------------
|
| + * global variable support code.
|
| + * ----------------------------------------------------------------------------- */
|
| +
|
| +typedef struct swig_globalvar {
|
| + char *name; /* Name of global variable */
|
| + PyObject *(*get_attr)(void); /* Return the current value */
|
| + int (*set_attr)(PyObject *); /* Set the value */
|
| + struct swig_globalvar *next;
|
| +} swig_globalvar;
|
| +
|
| +typedef struct swig_varlinkobject {
|
| + PyObject_HEAD
|
| + swig_globalvar *vars;
|
| +} swig_varlinkobject;
|
| +
|
| +SWIGINTERN PyObject *
|
| +swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + return PyUnicode_InternFromString("<Swig global variables>");
|
| +#else
|
| + return PyString_FromString("<Swig global variables>");
|
| +#endif
|
| +}
|
| +
|
| +SWIGINTERN PyObject *
|
| +swig_varlink_str(swig_varlinkobject *v) {
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + PyObject *str = PyUnicode_InternFromString("(");
|
| + PyObject *tail;
|
| + PyObject *joined;
|
| + swig_globalvar *var;
|
| + for (var = v->vars; var; var=var->next) {
|
| + tail = PyUnicode_FromString(var->name);
|
| + joined = PyUnicode_Concat(str, tail);
|
| + Py_DecRef(str);
|
| + Py_DecRef(tail);
|
| + str = joined;
|
| + if (var->next) {
|
| + tail = PyUnicode_InternFromString(", ");
|
| + joined = PyUnicode_Concat(str, tail);
|
| + Py_DecRef(str);
|
| + Py_DecRef(tail);
|
| + str = joined;
|
| + }
|
| + }
|
| + tail = PyUnicode_InternFromString(")");
|
| + joined = PyUnicode_Concat(str, tail);
|
| + Py_DecRef(str);
|
| + Py_DecRef(tail);
|
| + str = joined;
|
| +#else
|
| + PyObject *str = PyString_FromString("(");
|
| + swig_globalvar *var;
|
| + for (var = v->vars; var; var=var->next) {
|
| + PyString_ConcatAndDel(&str,PyString_FromString(var->name));
|
| + if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
|
| + }
|
| + PyString_ConcatAndDel(&str,PyString_FromString(")"));
|
| +#endif
|
| + return str;
|
| +}
|
| +
|
| +SWIGINTERN int
|
| +swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
|
| + char *tmp;
|
| + PyObject *str = swig_varlink_str(v);
|
| + fprintf(fp,"Swig global variables ");
|
| + fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str));
|
| + SWIG_Python_str_DelForPy3(tmp);
|
| + Py_DECREF(str);
|
| + return 0;
|
| +}
|
| +
|
| +SWIGINTERN void
|
| +swig_varlink_dealloc(swig_varlinkobject *v) {
|
| + swig_globalvar *var = v->vars;
|
| + while (var) {
|
| + swig_globalvar *n = var->next;
|
| + free(var->name);
|
| + free(var);
|
| + var = n;
|
| + }
|
| +}
|
| +
|
| +SWIGINTERN PyObject *
|
| +swig_varlink_getattr(swig_varlinkobject *v, char *n) {
|
| + PyObject *res = NULL;
|
| + swig_globalvar *var = v->vars;
|
| + while (var) {
|
| + if (strcmp(var->name,n) == 0) {
|
| + res = (*var->get_attr)();
|
| + break;
|
| + }
|
| + var = var->next;
|
| + }
|
| + if (res == NULL && !PyErr_Occurred()) {
|
| + PyErr_SetString(PyExc_NameError,"Unknown C global variable");
|
| + }
|
| + return res;
|
| +}
|
| +
|
| +SWIGINTERN int
|
| +swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
|
| + int res = 1;
|
| + swig_globalvar *var = v->vars;
|
| + while (var) {
|
| + if (strcmp(var->name,n) == 0) {
|
| + res = (*var->set_attr)(p);
|
| + break;
|
| + }
|
| + var = var->next;
|
| + }
|
| + if (res == 1 && !PyErr_Occurred()) {
|
| + PyErr_SetString(PyExc_NameError,"Unknown C global variable");
|
| + }
|
| + return res;
|
| +}
|
| +
|
| +SWIGINTERN PyTypeObject*
|
| +swig_varlink_type(void) {
|
| + static char varlink__doc__[] = "Swig var link object";
|
| + static PyTypeObject varlink_type;
|
| + static int type_init = 0;
|
| + if (!type_init) {
|
| + const PyTypeObject tmp
|
| + = {
|
| + /* PyObject header changed in Python 3 */
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
| +#else
|
| + PyObject_HEAD_INIT(NULL)
|
| + 0, /* Number of items in variable part (ob_size) */
|
| +#endif
|
| + (char *)"swigvarlink", /* Type name (tp_name) */
|
| + sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
|
| + 0, /* Itemsize (tp_itemsize) */
|
| + (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */
|
| + (printfunc) swig_varlink_print, /* Print (tp_print) */
|
| + (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
|
| + (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
|
| + 0, /* tp_compare */
|
| + (reprfunc) swig_varlink_repr, /* tp_repr */
|
| + 0, /* tp_as_number */
|
| + 0, /* tp_as_sequence */
|
| + 0, /* tp_as_mapping */
|
| + 0, /* tp_hash */
|
| + 0, /* tp_call */
|
| + (reprfunc) swig_varlink_str, /* tp_str */
|
| + 0, /* tp_getattro */
|
| + 0, /* tp_setattro */
|
| + 0, /* tp_as_buffer */
|
| + 0, /* tp_flags */
|
| + varlink__doc__, /* tp_doc */
|
| + 0, /* tp_traverse */
|
| + 0, /* tp_clear */
|
| + 0, /* tp_richcompare */
|
| + 0, /* tp_weaklistoffset */
|
| +#if PY_VERSION_HEX >= 0x02020000
|
| + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
|
| +#endif
|
| +#if PY_VERSION_HEX >= 0x02030000
|
| + 0, /* tp_del */
|
| +#endif
|
| +#ifdef COUNT_ALLOCS
|
| + 0,0,0,0 /* tp_alloc -> tp_next */
|
| +#endif
|
| + };
|
| + varlink_type = tmp;
|
| + /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */
|
| +#if PY_VERSION_HEX < 0x03000000
|
| + varlink_type.ob_type = &PyType_Type;
|
| +#endif
|
| + type_init = 1;
|
| + }
|
| + return &varlink_type;
|
| +}
|
| +
|
| +/* Create a variable linking object for use later */
|
| +SWIGINTERN PyObject *
|
| +SWIG_Python_newvarlink(void) {
|
| + swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
|
| + if (result) {
|
| + result->vars = 0;
|
| + }
|
| + return ((PyObject*) result);
|
| +}
|
| +
|
| +SWIGINTERN void
|
| +SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
|
| + swig_varlinkobject *v = (swig_varlinkobject *) p;
|
| + swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
|
| + if (gv) {
|
| + size_t size = strlen(name)+1;
|
| + gv->name = (char *)malloc(size);
|
| + if (gv->name) {
|
| + strncpy(gv->name,name,size);
|
| + gv->get_attr = get_attr;
|
| + gv->set_attr = set_attr;
|
| + gv->next = v->vars;
|
| + }
|
| + }
|
| + v->vars = gv;
|
| +}
|
| +
|
| +SWIGINTERN PyObject *
|
| +SWIG_globals(void) {
|
| + static PyObject *_SWIG_globals = 0;
|
| + if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
|
| + return _SWIG_globals;
|
| +}
|
| +
|
| +/* -----------------------------------------------------------------------------
|
| + * constants/methods manipulation
|
| + * ----------------------------------------------------------------------------- */
|
| +
|
| +/* Install Constants */
|
| +SWIGINTERN void
|
| +SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
|
| + PyObject *obj = 0;
|
| + size_t i;
|
| + for (i = 0; constants[i].type; ++i) {
|
| + switch(constants[i].type) {
|
| + case SWIG_PY_POINTER:
|
| + obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
|
| + break;
|
| + case SWIG_PY_BINARY:
|
| + obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
|
| + break;
|
| + default:
|
| + obj = 0;
|
| + break;
|
| + }
|
| + if (obj) {
|
| + PyDict_SetItemString(d, constants[i].name, obj);
|
| + Py_DECREF(obj);
|
| + }
|
| + }
|
| +}
|
| +
|
| +/* -----------------------------------------------------------------------------*/
|
| +/* Fix SwigMethods to carry the callback ptrs when needed */
|
| +/* -----------------------------------------------------------------------------*/
|
| +
|
| +SWIGINTERN void
|
| +SWIG_Python_FixMethods(PyMethodDef *methods,
|
| + swig_const_info *const_table,
|
| + swig_type_info **types,
|
| + swig_type_info **types_initial) {
|
| + size_t i;
|
| + for (i = 0; methods[i].ml_name; ++i) {
|
| + const char *c = methods[i].ml_doc;
|
| + if (c && (c = strstr(c, "swig_ptr: "))) {
|
| + int j;
|
| + swig_const_info *ci = 0;
|
| + const char *name = c + 10;
|
| + for (j = 0; const_table[j].type; ++j) {
|
| + if (strncmp(const_table[j].name, name,
|
| + strlen(const_table[j].name)) == 0) {
|
| + ci = &(const_table[j]);
|
| + break;
|
| + }
|
| + }
|
| + if (ci) {
|
| + size_t shift = (ci->ptype) - types;
|
| + swig_type_info *ty = types_initial[shift];
|
| + size_t ldoc = (c - methods[i].ml_doc);
|
| + size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
|
| + char *ndoc = (char*)malloc(ldoc + lptr + 10);
|
| + if (ndoc) {
|
| + char *buff = ndoc;
|
| + void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
|
| + if (ptr) {
|
| + strncpy(buff, methods[i].ml_doc, ldoc);
|
| + buff += ldoc;
|
| + strncpy(buff, "swig_ptr: ", 10);
|
| + buff += 10;
|
| + SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
|
| + methods[i].ml_doc = ndoc;
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| +#ifdef __cplusplus
|
| +}
|
| +#endif
|
| +
|
| +/* -----------------------------------------------------------------------------*
|
| + * Partial Init method
|
| + * -----------------------------------------------------------------------------*/
|
| +
|
| +#ifdef __cplusplus
|
| +extern "C"
|
| +#endif
|
| +
|
| +SWIGEXPORT
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + PyObject*
|
| +#else
|
| + void
|
| +#endif
|
| +SWIG_init(void) {
|
| + PyObject *m, *d;
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + static struct PyModuleDef SWIG_module = {
|
| + PyModuleDef_HEAD_INIT,
|
| + (char *) SWIG_name,
|
| + NULL,
|
| + -1,
|
| + SwigMethods,
|
| + NULL,
|
| + NULL,
|
| + NULL,
|
| + NULL
|
| + };
|
| +#endif
|
| +
|
| + /* Fix SwigMethods to carry the callback ptrs when needed */
|
| + SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
|
| +
|
| +#if PY_VERSION_HEX >= 0x03000000
|
| + m = PyModule_Create(&SWIG_module);
|
| +#else
|
| + m = Py_InitModule((char *) SWIG_name, SwigMethods);
|
| +#endif
|
| + d = PyModule_GetDict(m);
|
| +
|
| + SWIG_InitializeModule(0);
|
| + SWIG_InstallConstants(d,swig_const_table);
|
| +
|
| +%}
|
| +
|
|
|