aboutsummaryrefslogtreecommitdiffstats
path: root/shibokengenerator.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-02-24 15:16:34 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-02-24 15:41:51 -0300
commit622c131f1b50f8206c189a3836fd0142163196eb (patch)
treea0e49a38dad465013e5fd6e393fe1ee823217374 /shibokengenerator.cpp
parent828ed8e7fc3fa0a3184ddd884e8622a0e5bde080 (diff)
The C++ pointer for a Python wrapper is now acquired using a Converter.
The macros for casting a wrapper C++ void pointer to a specific C++ pointer are no longer generated, converters are used instead. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r--shibokengenerator.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp
index 77fabf130..5a7ec5869 100644
--- a/shibokengenerator.cpp
+++ b/shibokengenerator.cpp
@@ -36,6 +36,7 @@
#define DISABLE_VERBOSE_ERROR_MESSAGES "disable-verbose-error-messages"
//static void dumpFunction(AbstractMetaFunctionList lst);
+static QString baseConversionString(QString typeName);
QHash<QString, QString> ShibokenGenerator::m_pythonPrimitiveTypeName = QHash<QString, QString>();
QHash<QString, QString> ShibokenGenerator::m_pythonOperators = QHash<QString, QString>();
@@ -278,7 +279,7 @@ QString ShibokenGenerator::cpythonWrapperCPtr(const AbstractMetaType* metaType,
QString ShibokenGenerator::cpythonWrapperCPtr(const TypeEntry* type, QString argName)
{
if (type->isValue() || type->isObject())
- return QString("%1_cptr(%2)").arg(cpythonBaseName(type)).arg(argName);
+ return baseConversionString(type->qualifiedCppName() + '*') + QString("toCpp((PyObject*)%1)").arg(argName);
return QString();
}