#include <features.h>
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
+#include <Python.h>
#include <lib/python/python.h>
#include <string>
#include <map>
#include <lib/base/nconfig.h>
-#include <lib/python/python.h>
+#include <Python.h>
PyObject *ePythonConfigQuery::m_queryFunc;
#include <lib/base/eerror.h>
#include <lib/dvb/pmt.h>
#include <lib/dvb/db.h>
-#include <lib/python/python.h>
+#include <Python.h>
int eventData::CacheSize=0;
descriptorMap eventData::descriptors;
/* avoid warnigs :) */
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
-#include <lib/python/python.h>
+#include <Python.h>
#include <lib/python/connections.h>
#define MAX_SLOTS 4
#include <lib/gui/elistbox.h>
#include <lib/gui/elistboxcontent.h>
#include <lib/gdi/font.h>
-#include <lib/python/python.h>
+#include <Python.h>
/*
The basic idea is to have an interface which gives all relevant list
#include <lib/nav/core.h>
#include <lib/base/eerror.h>
-#include <lib/python/python.h>
+#include <Python.h>
void eNavigation::serviceEvent(iPlayableService* service, int event)
{
enigma_python_wrap.cxx: enigma_python.i
swig -I$(top_srcdir)/ -c++ -python enigma_python.i
- echo "#include <lib/python/python.h>" > bla.cxx
- cat enigma_python_wrap.cxx >> bla.cxx
- mv bla.cxx enigma_python_wrap.cxx
installdir = $(LIBDIR)/enigma2/python
#include <features.h>
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
+#include <Python.h>
#include <lib/python/python.h>
class PSignal
+#include <lib/python/python.h>
#include <lib/base/eerror.h>
/* avoid warnigs :) */
#undef _POSIX_C_SOURCE
extern "C" void init_enigma();
extern void bsodFatal();
-void Impl_Py_DECREF(const char* file, int line, PyObject *obj)
-{
- if (!obj)
- {
- eDebug("decref python object null pointer %s %d!!!",
- file, line);
- bsodFatal();
- }
- if (obj->ob_refcnt <= 0)
- {
- eDebug("decref python object with refcounting value %d (%s %d)!!!", obj->ob_refcnt, file, line);
- bsodFatal();
- }
- Py_DECREF(obj);
-}
-
-void Impl_Py_INCREF(const char* file, int line, PyObject *obj)
-{
- if (!obj)
- {
- eDebug("incref python object null pointer %s %d!!!", file, line);
- bsodFatal();
- }
- if (obj->ob_refcnt <= 0)
- {
- eDebug("incref python object with refcounting value %d (%s %d)!!!", obj->ob_refcnt, file, line);
- bsodFatal();
- }
- if (obj->ob_refcnt == 0x7FFFFFFF)
- {
- eDebug("incref python object with refcounting value %d (MAX_INT!!!) (%s %d)!!!", obj->ob_refcnt, file, line);
- bsodFatal();
- }
- Py_INCREF(obj);
-}
-
-#include <lib/python/python.h>
-
DEFINE_REF(TestObj);
TestObj::TestObj()
#include <string>
#include <lib/base/object.h>
-#include <Python.h>
-// useable for debugging python refcounting
-#undef Py_DECREF
-#undef Py_XDECREF
-#undef Py_INCREF
-#undef Py_XINCREF
-#define Py_XDECREF(obj) Impl_Py_XDECREF(__FILE__, __LINE__, obj)
-#define Py_DECREF(obj) Impl_Py_DECREF(__FILE__, __LINE__, obj)
-#define Py_XINCREF(obj) Impl_Py_XINCREF(__FILE__, __LINE__, obj)
-#define Py_INCREF(obj) Impl_Py_INCREF(__FILE__, __LINE__, obj)
-
-void Impl_Py_DECREF(const char* file, int line, PyObject *obj);
-
-inline void Impl_Py_XDECREF(const char* file, int line, PyObject *obj)
-{
- if (obj)
- Impl_Py_DECREF(file, line, obj);
-}
+typedef struct _object PyObject;
-void Impl_Py_INCREF(const char* file, int line, PyObject *obj);
-
-inline void Impl_Py_XINCREF(const char* file, int line, PyObject *obj)
-{
- if (obj)
- Impl_Py_INCREF(file, line, obj);
-}
+// useable for debugging python refcounting
extern PyObject *New_TestObj();
#include <lib/service/service.h>
#include <lib/base/init_num.h>
#include <lib/base/init.h>
-#include <lib/python/python.h>
+#include <Python.h>
eServiceReference::eServiceReference(const std::string &string)
{