aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/qstring_conversions.h
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-11-03 05:23:00 -0300
committerHugo Lima <hugo.lima@openbossa.org>2009-11-03 14:17:35 -0200
commitd2cd71313d0c44eaffe4b38ab3f9ac6daa2c20cb (patch)
tree8f90c975274cc48295bc80b2cc2b34396631efb4 /PySide/QtCore/qstring_conversions.h
parentc0832e4a9ad96c6b7df0f1749c764b37f7ab1bc3 (diff)
Updated container converters to the new shiboken conversion scheme
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'PySide/QtCore/qstring_conversions.h')
-rw-r--r--PySide/QtCore/qstring_conversions.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/PySide/QtCore/qstring_conversions.h b/PySide/QtCore/qstring_conversions.h
index a9a11ba28..33cf438df 100644
--- a/PySide/QtCore/qstring_conversions.h
+++ b/PySide/QtCore/qstring_conversions.h
@@ -1,14 +1,21 @@
-inline bool Converter< QString >::isConvertible(PyObject* pyObj)
+inline bool Converter< QString >::isConvertible(PyObject* pyobj)
{
- return PyObject_TypeCheck(pyObj, &PyQString_Type) || PyUnicode_Check(pyObj) || PyString_Check(pyObj);
+ return PyUnicode_Check(pyobj) || PyString_Check(pyobj);
}
-inline PyObject* Converter< QString >::toPython(QString cppobj)
+inline PyObject* Converter< QString >::createWrapper(const QString* cppobj)
{
- PyObject* pyobj;
- void* holder = (void*) new QString(cppobj);
- pyobj = Shiboken::PyBaseWrapper_New(&PyQString_Type, &PyQString_Type, holder);
- return pyobj;
+ return PyBaseWrapper_New(&PyQString_Type, &PyQString_Type, cppobj);
+}
+
+inline QString* Converter<QString >::copyCppObject(const QString& cppobj)
+{
+ return new QString(cppobj);
+}
+
+inline PyObject* Converter< QString >::toPython(const QString& cppobj)
+{
+ return Converter< QString >::createWrapper(new QString(cppobj));
}
inline QString Converter< QString >::toCpp(PyObject* pyobj)
@@ -31,5 +38,5 @@ inline QString Converter< QString >::toCpp(PyObject* pyobj)
#endif
} else if (PyString_Check(pyobj))
return QString(Converter< char * >::toCpp(pyobj));
- return *((QString*) ((Shiboken::PyBaseWrapper*)pyobj)->cptr);
+ return *Converter< QString* >::toCpp(pyobj);
}