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

Method republishFrames

app/src/DataModel/FrameBuilder.cpp:763–795  ·  view source on GitHub ↗

* @brief Re-runs every dataset transform from the last raw values (virtual datasets re-read the * data tables) and republishes the live frames. With @p feedExports false the frames go to * the dashboard only; with it true they also fan out through hotpathTxFrame() to the export * sinks. Returns false when no frame structure is available to publish. */

Source from the content-addressed store, hash-verified

761 * sinks. Returns false when no frame structure is available to publish.
762 */
763bool DataModel::FrameBuilder::republishFrames(bool feedExports)
764{
765 if (m_operationMode != SerialStudio::ProjectFile)
766 return false;
767
768 static auto& dashboard = UI::Dashboard::instance();
769
770 bool published = false;
771 for (auto& frame : m_sourceFrames) {
772 if (frame.groups.empty() || frame.title.isEmpty())
773 continue;
774
775 reprocessDatasetValues(frame);
776 if (feedExports)
777 hotpathTxFrame(acquireFrame(frame));
778 else
779 dashboard.hotpathRxFrame(acquireFrame(frame));
780
781 published = true;
782 }
783
784 if (!published && !m_frame.groups.empty() && !m_frame.title.isEmpty()) {
785 reprocessDatasetValues(m_frame);
786 if (feedExports)
787 hotpathTxFrame(acquireFrame(m_frame));
788 else
789 dashboard.hotpathRxFrame(acquireFrame(m_frame));
790
791 published = true;
792 }
793
794 return published;
795}
796
797/**
798 * @brief Re-runs transforms from the last received values and republishes to the dashboard only,

Callers

nothing calls this directly

Calls 3

emptyMethod · 0.80
isEmptyMethod · 0.80
hotpathRxFrameMethod · 0.45

Tested by

no test coverage detected