summaryrefslogtreecommitdiff
path: root/lib/ldg_Python.h
diff options
context:
space:
mode:
authorJeff Armstrong <jeffrey.armstrong@approximatrix.com>2011-07-12 23:02:14 -0400
committerJeff Armstrong <jeffrey.armstrong@approximatrix.com>2011-07-12 23:02:14 -0400
commit33346eaee2add1bf9c801cf92f19664ffaa71f2b (patch)
tree5c12daa2aeb41d40e00333bb79518af852d6870f /lib/ldg_Python.h
parent020592344c70c1b287e52729086a493211daea5a (diff)
downloadgempy-33346eaee2add1bf9c801cf92f19664ffaa71f2b.tar.gz
gempy-33346eaee2add1bf9c801cf92f19664ffaa71f2b.zip
Added appl_write and basic resource functions.
Diffstat (limited to 'lib/ldg_Python.h')
-rw-r--r--lib/ldg_Python.h41
1 files changed, 26 insertions, 15 deletions
diff --git a/lib/ldg_Python.h b/lib/ldg_Python.h
index 1a79e18..0f21960 100644
--- a/lib/ldg_Python.h
+++ b/lib/ldg_Python.h
@@ -1,16 +1,27 @@
-#ifndef __LDG_PYTHON_HEADERS
-#define __LDG_PYTHON_HEADERS
-
-#include <Python.h>
-
-#define PY_API_FCOUNT 3
-
-#ifndef LDG_INTERNAL
-extern void *pycallbacks[PY_API_FCOUNT];
-#endif
-
-#define Py_InitModule(name,methods) ldg_callback(pycallbacks[0],name,methods,NULL,NULL)
-#define PyArg_ParseTuple(tpl,...) ldg_callback(pycallbacks[1],tpl,##__VA_ARGS__)
-#define Py_BuildValue(fmt,...) ldg_callback(pycallbacks[2],fmt,##__VA_ARGS__)
-
+#ifndef __LDG_PYTHON_HEADERS
+#define __LDG_PYTHON_HEADERS
+
+#include <Python.h>
+#include <ldg.h>
+
+#define PY_API_FCOUNT 8
+
+#ifndef LDG_INTERNAL
+extern void *pycallbacks[PY_API_FCOUNT];
+#endif
+
+#ifdef Py_REF_DEBUG
+#error Cannot build LDG Python exceptions with reference debugging
+#endif
+
+#define Py_InitModule(name,methods) ldg_callback(pycallbacks[0],name,methods,NULL,NULL)
+#define PyArg_ParseTuple(tpl,...) ldg_callback(pycallbacks[1],tpl,##__VA_ARGS__)
+#define Py_BuildValue(fmt,...) ldg_callback(pycallbacks[2],fmt,##__VA_ARGS__)
+#define PyErr_NewException(obj,pt1,pt2) ldg_callback(pycallbacks[3],obj,pt1,pt2)
+#define PyErr_SetString(obj,s) ldg_callback(pycallbacks[4],obj,s)
+#define PyModule_AddObject(m,s,o) ldg_callback(pycallbacks[5],m,s,o)
+#define PyCapsule_New(pt,s,de) ldg_callback(pycallbacks[6],pt,s,de)
+#define PyCapsule_GetPointer(c,s) ldg_callback(pycallbacks[7],c.s)
+//#define Py_INCREF(obj) ldg_callback(pycallbacks[4],obj)
+
#endif /*__LDG_PYTHON_HEADERS */ \ No newline at end of file