diff options
author | Emanoil Kotsev <[email protected]> | 2020-05-28 22:02:23 +0200 |
---|---|---|
committer | TDE Gitea <[email protected]> | 2020-05-29 05:14:30 +0000 |
commit | aaca9aafc865dca5c55b086aafad4168b40493d4 (patch) | |
tree | 57f5f5bef4554618e3026d54dacb00841f672126 | |
parent | 593d22f77117aa3952c64e8d0a305d7b250a57c5 (diff) | |
download | dbus-1-tqt-aaca9aafc865dca5c55b086aafad4168b40493d4.tar.gz dbus-1-tqt-aaca9aafc865dca5c55b086aafad4168b40493d4.zip |
Fix #25 dbusxml2qt3 root node with no name
Signed-off-by: Emanoil Kotsev <[email protected]>
-rw-r--r-- | src/tools/dbusxml2qt3/main.cpp | 115 |
1 files changed, 58 insertions, 57 deletions
diff --git a/src/tools/dbusxml2qt3/main.cpp b/src/tools/dbusxml2qt3/main.cpp index 018bc5d..7aa5b3f 100644 --- a/src/tools/dbusxml2qt3/main.cpp +++ b/src/tools/dbusxml2qt3/main.cpp @@ -350,84 +350,85 @@ int main(int argc, char** argv) if (nodeClassName.isEmpty()) { nodeClassName = rootElement.attribute("name"); - if (nodeClassName.startsWith("/")) nodeClassName = nodeClassName.mid(1); - if (nodeClassName.isEmpty()) + if (nodeClassName.startsWith("/")) { - std::cerr << "dbusxml2qt3: cannot generate node without class name." - << std::endl; - exit(3); + nodeClassName = nodeClassName.mid(1); } + } + if (!nodeClassName.isEmpty()) + { nodeClassName.replace('/', "::"); - } - TQStringList nameParts = TQStringList::split("::", nodeClassName); + TQStringList nameParts = TQStringList::split("::", nodeClassName); - Class classData; - classData.name = nameParts.back(); + Class classData; + classData.name = nameParts.back(); - nameParts.pop_back(); - classData.namespaces = nameParts; + nameParts.pop_back(); + classData.namespaces = nameParts; - if (checkForOption(options, "namespace")) - { - nameParts = TQStringList::split("::", options["namespace"]); + if (checkForOption(options, "namespace")) + { + nameParts = TQStringList::split("::", options["namespace"]); - classData.namespaces = nameParts; - } + classData.namespaces = nameParts; + } - TQTextStream headerStream; - TQTextStream sourceStream; + TQTextStream headerStream; + TQTextStream sourceStream; - TQString baseName = options["node"]; - if (baseName.isEmpty()) { - baseName = classData.name.lower() + "Node"; - } - if (!checkForOption(options, "classname")) - { - classData.name += "Node"; - } + TQString baseName = options["node"]; + if (baseName.isEmpty()) + { + baseName = classData.name.lower() + "Node"; + } + if (!checkForOption(options, "classname")) + { + classData.name += "Node"; + } - if (!ClassGenerator::initStreams(baseName, headerStream, sourceStream)) - { - std::cerr << "dbusxml2qt3: interface files, using base name '" - << baseName.local8Bit().data() - << "', could not be opened for writing" - << std::endl; - exit(4); - } + if (!ClassGenerator::initStreams(baseName, headerStream, sourceStream)) + { + std::cerr << "dbusxml2qt3: interface files, using base name '" + << baseName.local8Bit().data() + << "', could not be opened for writing" << std::endl; + exit(4); + } - ClassGenerator::generateNode(classData, interfaces, customInterfaceFilename, + ClassGenerator::generateNode(classData, interfaces, customInterfaceFilename, headerStream, sourceStream); - ClassGenerator::finishStreams(baseName, headerStream, sourceStream); + ClassGenerator::finishStreams(baseName, headerStream, sourceStream); - // create dummy node to handle the path hierarchy - if ( nameParts.size() > 1 ) { - TQTextStream headerStreamDBusBaseNode; - TQTextStream sourceStreamDBusBaseNode; + // create dummy node to handle the path hierarchy + if (nameParts.size() > 1) + { + TQTextStream headerStreamDBusBaseNode; + TQTextStream sourceStreamDBusBaseNode; - TQString baseName = "DBusBase"; - Class classDataDBusBaseNode; - classDataDBusBaseNode.name = baseName + "Node"; - TQValueList<Class> interfacesDBusBase = TQValueList<Class>(); + TQString baseName = "DBusBase"; + Class classDataDBusBaseNode; + classDataDBusBaseNode.name = baseName + "Node"; + TQValueList<Class> interfacesDBusBase = TQValueList<Class>(); - TQString baseNameDBusBaseNode = baseName.lower() + "Node"; + TQString baseNameDBusBaseNode = baseName.lower() + "Node"; - if (!ClassGenerator::initStreams(baseNameDBusBaseNode, headerStreamDBusBaseNode, sourceStreamDBusBaseNode)) - { - std::cerr << "dbusxml2qt3: interface files, using base name '" - << baseNameDBusBaseNode.local8Bit().data() - << "', could not be opened for writing" - << std::endl; - exit(4); - } + if (!ClassGenerator::initStreams(baseNameDBusBaseNode, headerStreamDBusBaseNode, sourceStreamDBusBaseNode)) + { + std::cerr << "dbusxml2qt3: interface files, using base name '" + << baseNameDBusBaseNode.local8Bit().data() + << "', could not be opened for writing" + << std::endl; + exit(4); + } - ClassGenerator::generateNode(classDataDBusBaseNode, - interfacesDBusBase, baseNameDBusBaseNode, - headerStreamDBusBaseNode, sourceStreamDBusBaseNode); + ClassGenerator::generateNode(classDataDBusBaseNode, + interfacesDBusBase, baseNameDBusBaseNode, + headerStreamDBusBaseNode, sourceStreamDBusBaseNode); - ClassGenerator::finishStreams(baseNameDBusBaseNode, headerStreamDBusBaseNode, sourceStreamDBusBaseNode); + ClassGenerator::finishStreams(baseNameDBusBaseNode, headerStreamDBusBaseNode, sourceStreamDBusBaseNode); + } } } |