[tools/generate] Generate implementation of client side requests
Like in the factored method case, just for generic requests.
This commit is contained in:
parent
8cbf16b737
commit
ccdcb43680
1 changed files with 17 additions and 10 deletions
|
@ -1262,7 +1262,12 @@ void Generator::generateClientClassRequests(const Interface &interface)
|
|||
void Generator::generateClientCppRequests(const Interface &interface)
|
||||
{
|
||||
const auto requests = interface.requests();
|
||||
const QString templateString = QStringLiteral("void %1::%2(%3)\n{\n}\n\n");
|
||||
const QString templateString = QStringLiteral(
|
||||
"void %1::%2(%3)\n"
|
||||
"{\n"
|
||||
" Q_ASSERT(isValid());\n"
|
||||
" %4_%5(d->%6%7);\n"
|
||||
"}\n\n");
|
||||
const QString factoryTemplateString = QStringLiteral(
|
||||
"%2 *%1::%3(%4)\n"
|
||||
"{\n"
|
||||
|
@ -1281,7 +1286,7 @@ void Generator::generateClientCppRequests(const Interface &interface)
|
|||
continue;
|
||||
}
|
||||
QString arguments;
|
||||
QString factoredArguments;
|
||||
QString requestArguments;
|
||||
bool first = true;
|
||||
QString factored;
|
||||
for (const auto &a: r.arguments()) {
|
||||
|
@ -1296,18 +1301,20 @@ void Generator::generateClientCppRequests(const Interface &interface)
|
|||
}
|
||||
if (a.type() == Argument::Type::Object) {
|
||||
arguments.append(QStringLiteral("%1 *%2").arg(a.typeAsQt()).arg(toCamelCase(a.name())));
|
||||
if (!factored.isEmpty()) {
|
||||
factoredArguments.append(QStringLiteral(", *%1").arg(toCamelCase(a.name())));
|
||||
}
|
||||
requestArguments.append(QStringLiteral(", *%1").arg(toCamelCase(a.name())));
|
||||
} else {
|
||||
arguments.append(QStringLiteral("%1 %2").arg(a.typeAsQt()).arg(toCamelCase(a.name())));
|
||||
if (!factored.isEmpty()) {
|
||||
factoredArguments.append(QStringLiteral(", %1").arg(toCamelCase(a.name())));
|
||||
}
|
||||
requestArguments.append(QStringLiteral(", %1").arg(toCamelCase(a.name())));
|
||||
}
|
||||
}
|
||||
if (factored.isEmpty()) {
|
||||
*m_stream.localData() << templateString.arg(interface.kwaylandClientName()).arg(toCamelCase(r.name())).arg(arguments);
|
||||
*m_stream.localData() << templateString.arg(interface.kwaylandClientName())
|
||||
.arg(toCamelCase(r.name()))
|
||||
.arg(arguments)
|
||||
.arg(interface.name())
|
||||
.arg(r.name())
|
||||
.arg(interface.kwaylandClientName().toLower())
|
||||
.arg(requestArguments);
|
||||
} else {
|
||||
if (!first) {
|
||||
arguments.append(QStringLiteral(", "));
|
||||
|
@ -1320,7 +1327,7 @@ void Generator::generateClientCppRequests(const Interface &interface)
|
|||
.arg(interface.name())
|
||||
.arg(r.name())
|
||||
.arg(interface.kwaylandClientName().toLower())
|
||||
.arg(factoredArguments);
|
||||
.arg(requestArguments);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue