diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-04-06 20:29:55 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:15:20 -0300 |
commit | 8c506130849194b0f7838a7920b5f7cc94bfe619 (patch) | |
tree | 78258643af563fc86cd24d236324697c33612751 /generator/cppgenerator.cpp | |
parent | 821a177f50db4bb52467e3e5e713ba21434496df (diff) |
Added support for extra includes at module level.
Diffstat (limited to 'generator/cppgenerator.cpp')
-rw-r--r-- | generator/cppgenerator.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp index 3be548832..72ca183b6 100644 --- a/generator/cppgenerator.cpp +++ b/generator/cppgenerator.cpp @@ -3737,9 +3737,14 @@ void CppGenerator::finishGeneration() lookForEnumsInClassesNotToBeGenerated(globalEnums, metaClass); } + TypeDatabase* typeDb = TypeDatabase::instance(); + TypeSystemTypeEntry* moduleEntry = reinterpret_cast<TypeSystemTypeEntry*>(typeDb->findType(packageName())); + //Extra includes s << endl << "// Extra includes" << endl; QList<Include> includes; + if (moduleEntry) + includes = moduleEntry->extraIncludes(); foreach (AbstractMetaEnum* cppEnum, globalEnums) includes.append(cppEnum->typeEntry()->extraIncludes()); qSort(includes.begin(), includes.end()); @@ -3747,7 +3752,6 @@ void CppGenerator::finishGeneration() s << inc.toString() << endl; s << endl; - TypeSystemTypeEntry* moduleEntry = reinterpret_cast<TypeSystemTypeEntry*>(TypeDatabase::instance()->findType(packageName())); CodeSnipList snips; if (moduleEntry) snips = moduleEntry->codeSnips(); @@ -3792,7 +3796,7 @@ void CppGenerator::finishGeneration() } s << "PyTypeObject** " << cppApiVariableName() << ";" << endl << endl;; - foreach (const QString& requiredModule, TypeDatabase::instance()->requiredTargetImports()) + foreach (const QString& requiredModule, typeDb->requiredTargetImports()) s << "PyTypeObject** " << cppApiVariableName(requiredModule) << ";" << endl << endl;; s << "// Module initialization "; @@ -3825,7 +3829,7 @@ void CppGenerator::finishGeneration() s << endl; } - foreach (const QString& requiredModule, TypeDatabase::instance()->requiredTargetImports()) { + foreach (const QString& requiredModule, typeDb->requiredTargetImports()) { s << INDENT << "if (!Shiboken::importModule(\"" << requiredModule << "\", &" << cppApiVariableName(requiredModule) << ")) {" << endl; s << INDENT << INDENT << "PyErr_SetString(PyExc_ImportError," << "\"could not import "; s << requiredModule << "\");" << endl << INDENT << INDENT << "return;" << endl; |