MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / frameToProtoStruct

Method frameToProtoStruct

app/src/API/GRPC/ConversionUtils.cpp:166–195  ·  view source on GitHub ↗

* @brief Converts a Frame directly to a protobuf Struct. */

Source from the content-addressed store, hash-verified

164 * @brief Converts a Frame directly to a protobuf Struct.
165 */
166google::protobuf::Struct API::GRPC::ConversionUtils::frameToProtoStruct(
167 const DataModel::Frame& frame)
168{
169 google::protobuf::Struct result;
170 setString(result, "title", frame.title);
171
172 auto* groups_list = (*result.mutable_fields())["groups"].mutable_list_value();
173
174 for (const auto& group : frame.groups) {
175 auto* group_val = groups_list->add_values()->mutable_struct_value();
176 setString(*group_val, "title", group.title);
177 setString(*group_val, "widget", group.widget);
178
179 auto* ds_list = (*group_val->mutable_fields())["datasets"].mutable_list_value();
180
181 for (const auto& ds : group.datasets) {
182 auto* ds_val = ds_list->add_values()->mutable_struct_value();
183 setString(*ds_val, "title", ds.title);
184 setString(*ds_val, "value", ds.value);
185 setString(*ds_val, "units", ds.units);
186 setNumber(*ds_val, "index", ds.index);
187 setNumber(*ds_val, "widgetMin", qMin(ds.wgtMin, ds.wgtMax));
188 setNumber(*ds_val, "widgetMax", qMax(ds.wgtMin, ds.wgtMax));
189 setNumber(*ds_val, "plotMin", qMin(ds.pltMin, ds.pltMax));
190 setNumber(*ds_val, "plotMax", qMax(ds.pltMin, ds.pltMax));
191 }
192 }
193
194 return result;
195}
196
197#endif // ENABLE_GRPC

Callers

nothing calls this directly

Calls 2

setStringFunction · 0.85
setNumberFunction · 0.85

Tested by

no test coverage detected