diff options
| author | Mladen Horvat <acidburn@opendreambox.org> | 2009-09-25 15:01:42 +0000 |
|---|---|---|
| committer | Mladen Horvat <acidburn@opendreambox.org> | 2009-09-25 15:01:42 +0000 |
| commit | eafe6abdba24ab9f4336baf0eb9940981e2969b1 (patch) | |
| tree | c1320c1444ed81c1b4950d59be50fed9216923c2 /lib/python/python.h | |
| parent | a6db6ed10bd1e49fc009554d7a5db2f573491736 (diff) | |
| parent | 71fbd4b3c1e7937f2fdc3d903cfd570bcb4cbd5a (diff) | |
| download | enigma2-eafe6abdba24ab9f4336baf0eb9940981e2969b1.tar.gz enigma2-eafe6abdba24ab9f4336baf0eb9940981e2969b1.zip | |
Merge branch 'master' of /git/enigma2
Diffstat (limited to 'lib/python/python.h')
| -rw-r--r-- | lib/python/python.h | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/lib/python/python.h b/lib/python/python.h index 52ec6c1e..18fdac78 100644 --- a/lib/python/python.h +++ b/lib/python/python.h @@ -155,6 +155,41 @@ inline void ePyObject::decref() Py_DECREF(m_ob); } +class ePyObjectWrapper +{ + ePyObject m_obj; +public: + ePyObjectWrapper(const ePyObjectWrapper &wrapper) + :m_obj(wrapper.m_obj) + { + Py_INCREF(m_obj); + } + ePyObjectWrapper(const ePyObject &obj) + :m_obj(obj) + { + Py_INCREF(m_obj); + } + ~ePyObjectWrapper() + { + Py_DECREF(m_obj); + } + ePyObjectWrapper &operator=(const ePyObjectWrapper &wrapper) + { + Py_DECREF(m_obj); + m_obj = wrapper.m_obj; + Py_INCREF(m_obj); + return *this; + } + operator PyObject*() + { + return m_obj; + } + operator ePyObject() + { + return m_obj; + } +}; + #endif // ! PYTHON_REFCOUNT_DEBUG #endif // !SWIG && !SKIP_PART1 @@ -390,5 +425,4 @@ private: #endif // SWIG #endif // SKIP_PART2 - #endif // __lib_python_python_class_h |
