Index: scripts/MsgUtils/msgutils/templates/MsgDefs_cpp.jinja =================================================================== diff -u -rfd9c43b00259567ff49a3d9b31b98df75b47bc52 -r808df723cf9d1b0097796815e5229abfa18f2d8f --- scripts/MsgUtils/msgutils/templates/MsgDefs_cpp.jinja (.../MsgDefs_cpp.jinja) (revision fd9c43b00259567ff49a3d9b31b98df75b47bc52) +++ scripts/MsgUtils/msgutils/templates/MsgDefs_cpp.jinja (.../MsgDefs_cpp.jinja) (revision 808df723cf9d1b0097796815e5229abfa18f2d8f) @@ -93,19 +93,20 @@ void {{ msg['msg_name'] }}Payload::dump() const { - QStringList params; + QStringList paramList; {%- for field in msg['payload'] %} {%- if field['type'] != "union" %} - params << QString("{{ field['name'] }}=%1").arg({{ field['name'] }}.value); + paramList << QString("{{ field['name'] }}=%1").arg({{ field['name'] }}.value); {%- endif %} {%- endfor %} - qDebug().noquote() << QString("{{ msg['msg_name'] }}Payload: %1").arg(params.count() ? params.join(", ") : ""); + qDebug().noquote() << QString("{{ msg['msg_name'] }}Payload: %1").arg(paramList.count() ? paramList.join(", ") : ""); } {%- endfor %} +{%- if proto is defined %} QByteArray canMessageToProtobufByteArray(const QDateTime ×tamp, const QString &deviceSerialNum, const Can::Message &msg) { - static const auto updateHeader = [&](messages::Header *header) { + const auto updateHeader = [&](messages::Header *header) { if (header) { const auto msecs = timestamp.toMSecsSinceEpoch(); header->set_deviceserialnum(deviceSerialNum.toStdString()); @@ -129,9 +130,9 @@ payload.dump(); auto proto = payload.toProtobuf(); updateHeader(proto.mutable_header()); - std::ostringstream out; - (void)proto.SerializeToOstream(&out); - return out.str().c_str(); + std::string out; + (void)proto.SerializeToString(&out); + return QByteArray(out.data(), static_cast(out.size())); break; } {%- endfor %} @@ -141,6 +142,7 @@ } return QByteArray(); } +{%- endif %} {%- if cpp_namespace is defined and cpp_namespace is not none %} } // namespace {{ cpp_namespace }}