feat: LogosResult (#14)

* Add LogosResult

* Add documentation for complex types

* Add get type util function

* Add more shorthand functions

* Add bool support

* Provide more shorthand functions

* Throw exception on bad access

* Fix typo in doc
This commit is contained in:
Arnaud
2026-02-25 09:13:43 -05:00
committed by GitHub
parent 30ef7986f4
commit 4fdf157120
10 changed files with 297 additions and 5 deletions
+4 -1
View File
@@ -100,7 +100,7 @@ static QString mapReturnType(const QString& qtType)
const QString base = normalizeType(qtType);
if (base.isEmpty() || base == "void") return QString("void");
static const QSet<QString> known = {
"bool","int","double","float","QString","QStringList","QJsonArray","QVariant"
"bool","int","double","float","QString","QStringList","QJsonArray","QVariant","LogosResult"
};
if (known.contains(base)) return base;
return QString("QVariant");
@@ -119,6 +119,7 @@ static QString makeHeader(const QString& moduleName, const QString& className, c
s << "#include <QPointer>\n";
s << "#include <functional>\n";
s << "#include <utility>\n";
s << "#include \"logos_types.h\"\n";
s << "#include \"logos_api.h\"\n";
s << "#include \"logos_api_client.h\"\n\n";
s << "class " << className << " {\n";
@@ -325,6 +326,8 @@ static QString makeSource(const QString& moduleName, const QString& className, c
s << " return _result.toStringList();\n";
} else if (ret == "QJsonArray") {
s << " return qvariant_cast<QJsonArray>(_result);\n";
}else if (ret == "LogosResult") {
s << " return _result.value<LogosResult>();\n";
} else { // QVariant
s << " return _result;\n";
}