diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2016-09-21 16:33:33 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2016-10-27 08:28:35 +0000 |
commit | 44798eeb43a9a51647fe57a1656072454a4487ee (patch) | |
tree | ab43549f9af55ed3b3cb1107bb17c9e35cd189f8 /src/scxml/qscxmltabledata.cpp | |
parent | 2f44d6d3c03a5484ffa542462c7789f593840774 (diff) |
Further clean up qscxmlinvokableservice.hv5.8.0-beta1
We can group the various parameters passed around between the factories
into a struct and we can move some methods into the private interface.
Change-Id: I579ced7d501bdb617d4aefd47ced49746c9a5b94
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/scxml/qscxmltabledata.cpp')
-rw-r--r-- | src/scxml/qscxmltabledata.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/scxml/qscxmltabledata.cpp b/src/scxml/qscxmltabledata.cpp index 3b9cabd..2457840 100644 --- a/src/scxml/qscxmltabledata.cpp +++ b/src/scxml/qscxmltabledata.cpp @@ -273,11 +273,16 @@ protected: // visitor auto srcexpr = createEvaluatorString(QStringLiteral("invoke"), QStringLiteral("srcexpr"), invoke->srcexpr); - const int factoryId = createFactoryId( - ctxt, srcexpr, addString(invoke->id), - addString(state->id + QStringLiteral(".session-")), - addString(invoke->idLocation), namelist, invoke->autoforward, params, - finalize, invoke->content); + QScxmlExecutableContent::InvokeInfo invokeInfo; + invokeInfo.id = addString(invoke->id); + invokeInfo.prefix = addString(state->id + QStringLiteral(".session-")); + invokeInfo.location = addString(invoke->idLocation); + invokeInfo.context = ctxt; + invokeInfo.expr = srcexpr; + invokeInfo.finalize = finalize; + invokeInfo.autoforward = invoke->autoforward; + const int factoryId = createFactoryId(invokeInfo, namelist, params, + invoke->content); Q_ASSERT(factoryId >= 0); factoryIds.append(factoryId); m_stateTable.maxServiceId = std::max(m_stateTable.maxServiceId, factoryId); |