diff options
author | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 19:57:18 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 20:18:59 -0300 |
commit | 1b6337d8b4a65988dfbeb0eed67bc6584b25fdee (patch) | |
tree | e6efde3e5d00d4530f321894e62801ab8eac72e8 /libpyside/signalmanager.h | |
parent | d8a192b5e14e996992a98766cd39ca2028e6474e (diff) |
Removed QVariant from PySide.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'libpyside/signalmanager.h')
-rw-r--r-- | libpyside/signalmanager.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libpyside/signalmanager.h b/libpyside/signalmanager.h index 233adf1ff..9687dcc3e 100644 --- a/libpyside/signalmanager.h +++ b/libpyside/signalmanager.h @@ -46,6 +46,17 @@ class QObject; namespace PySide { +/// Thin wrapper for PyObject which increases the reference count at the constructor but *NOT* at destructor. +class PYSIDE_API PyObjectWrapper +{ +public: + PyObjectWrapper(PyObject* me) : m_me(me) { Py_INCREF(m_me); } + PyObjectWrapper() : m_me(Py_None) { Py_INCREF(m_me); } + operator PyObject*() const { return m_me; } +private: + PyObject* m_me; +}; + PYSIDE_API bool isSignal(const char* signal); PYSIDE_API bool checkSignal(const char* signal); PYSIDE_API QString getCallbackSignature(const char* signal, PyObject* callback, bool encodeName); @@ -84,4 +95,7 @@ private: }; } + +Q_DECLARE_METATYPE(PySide::PyObjectWrapper) + #endif |