Fixed problem with interface file name generation and inclusion. This

relates to #5.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
pull/16/head
Michele Calgaro 6 years ago
parent 415cca8630
commit d3ff70c037
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -365,15 +365,22 @@ static void writeSourceIncludes(const Class& classData, Class::Role role,
} }
static void writeInterfaceIncludes(const TQValueList<Class> interfaces, static void writeInterfaceIncludes(const TQValueList<Class> interfaces,
TQTextStream& stream) const TQString& customInterfaceFilename, TQTextStream& stream)
{ {
stream << "// interface classes includes" << endl; stream << "// interface classes includes" << endl;
TQValueList<Class>::const_iterator it = interfaces.begin(); if (!customInterfaceFilename.isNull())
TQValueList<Class>::const_iterator endIt = interfaces.end(); {
for (; it != endIt; ++it) stream << "#include \"" << customInterfaceFilename << ".h\"" << endl;
}
else
{ {
stream << "#include \"" << (*it).name.lower() << "Interface.h\"" << endl; TQValueList<Class>::const_iterator it = interfaces.begin();
TQValueList<Class>::const_iterator endIt = interfaces.end();
for (; it != endIt; ++it)
{
stream << "#include \"" << (*it).name.lower() << "Interface.h\"" << endl;
}
} }
stream << "#include \"introspectableInterface.h\"" << endl; stream << "#include \"introspectableInterface.h\"" << endl;
@ -1061,6 +1068,7 @@ bool ClassGenerator::generateProxy(const Class& classData,
bool ClassGenerator::generateNode(const Class& classData, bool ClassGenerator::generateNode(const Class& classData,
const TQValueList<Class>& interfaces, const TQValueList<Class>& interfaces,
const TQString& customInterfaceFilename,
TQTextStream& headerStream, TQTextStream& headerStream,
TQTextStream& sourceStream) TQTextStream& sourceStream)
{ {
@ -1075,7 +1083,7 @@ bool ClassGenerator::generateNode(const Class& classData,
// create source // create source
writeSourceIncludes(classData, Class::Node, sourceStream); writeSourceIncludes(classData, Class::Node, sourceStream);
writeInterfaceIncludes(interfaces, sourceStream); writeInterfaceIncludes(interfaces, customInterfaceFilename, sourceStream);
openNamespaces(classData.namespaces, sourceStream); openNamespaces(classData.namespaces, sourceStream);

@ -46,6 +46,7 @@ public:
TQTextStream& headerStream, TQTextStream& sourceStream); TQTextStream& headerStream, TQTextStream& sourceStream);
static bool generateNode(const Class& classData, static bool generateNode(const Class& classData,
const TQValueList<Class>& interfaces, const TQValueList<Class>& interfaces,
const TQString& customInterfaceFilename,
TQTextStream& headerStream, TQTextStream& sourceStream); TQTextStream& headerStream, TQTextStream& sourceStream);
static bool generateIncludeMoc(const TQString& baseName, TQTextStream& sourceStream); static bool generateIncludeMoc(const TQString& baseName, TQTextStream& sourceStream);
}; };

@ -139,6 +139,7 @@ int main(int argc, char** argv)
// if no specific option is selected, we generate everything // if no specific option is selected, we generate everything
bool generateAll = !(generateProxies || generateInterfaces || generateNode); bool generateAll = !(generateProxies || generateInterfaces || generateNode);
TQString customInterfaceFilename = TQString::null;
if (checkForOption(options, "classname")) if (checkForOption(options, "classname"))
{ {
@ -183,6 +184,7 @@ int main(int argc, char** argv)
TQTextStream sourceStream; TQTextStream sourceStream;
TQString baseName = options["interface"]; TQString baseName = options["interface"];
customInterfaceFilename = baseName;
if (!baseName.isEmpty()) if (!baseName.isEmpty())
{ {
if (!ClassGenerator::initStreams(baseName, headerStream, sourceStream)) if (!ClassGenerator::initStreams(baseName, headerStream, sourceStream))
@ -376,7 +378,7 @@ int main(int argc, char** argv)
exit(4); exit(4);
} }
ClassGenerator::generateNode(classData, interfaces, ClassGenerator::generateNode(classData, interfaces, customInterfaceFilename,
headerStream, sourceStream); headerStream, sourceStream);
ClassGenerator::finishStreams(baseName, headerStream, sourceStream); ClassGenerator::finishStreams(baseName, headerStream, sourceStream);

Loading…
Cancel
Save