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

Method setupExternalConnections

app/src/Sessions/Export.cpp:660–739  ·  view source on GitHub ↗

* @brief Wires external signals for auto-close on disconnect. */

Source from the content-addressed store, hash-verified

658 * @brief Wires external signals for auto-close on disconnect.
659 */
660void Sessions::Export::setupExternalConnections()
661{
662 connect(&AppState::instance(), &AppState::operationModeChanged, this, [this] {
663 const auto mode = AppState::instance().operationMode();
664 m_operationMode.store(static_cast<int>(mode), std::memory_order_relaxed);
665
666 if (isOpen())
667 closeFile();
668
669 if (mode == SerialStudio::ConsoleOnly && exportEnabled())
670 setExportEnabled(false);
671 });
672
673 connect(
674 &IO::ConnectionManager::instance(), &IO::ConnectionManager::connectedChanged, this, [this] {
675 if (!IO::ConnectionManager::instance().isConnected())
676 closeFile();
677 });
678
679 connect(&CSV::Player::instance(), &CSV::Player::openChanged, this, [this] {
680 if (CSV::Player::instance().isOpen())
681 closeFile();
682 });
683
684 connect(&MDF4::Player::instance(), &MDF4::Player::openChanged, this, [this] {
685 if (MDF4::Player::instance().isOpen())
686 closeFile();
687 });
688
689 auto& pm = DataModel::ProjectModel::instance();
690 connect(&pm,
691 &DataModel::ProjectModel::jsonFileChanged,
692 this,
693 &Sessions::Export::refreshProjectSnapshot);
694 connect(
695 &pm, &DataModel::ProjectModel::groupsChanged, this, &Sessions::Export::refreshProjectSnapshot);
696 connect(
697 &pm, &DataModel::ProjectModel::actionsChanged, this, &Sessions::Export::refreshProjectSnapshot);
698 connect(
699 &pm, &DataModel::ProjectModel::sourcesChanged, this, &Sessions::Export::refreshProjectSnapshot);
700 connect(
701 &pm, &DataModel::ProjectModel::tablesChanged, this, &Sessions::Export::refreshProjectSnapshot);
702 connect(&pm,
703 &DataModel::ProjectModel::editorWorkspacesChanged,
704 this,
705 &Sessions::Export::refreshProjectSnapshot);
706
707 connect(&pm,
708 &DataModel::ProjectModel::sourceFrameParserCodeChanged,
709 this,
710 &Sessions::Export::refreshProjectSnapshot);
711 connect(&pm,
712 &DataModel::ProjectModel::sourceFrameParserLanguageChanged,
713 this,
714 &Sessions::Export::refreshProjectSnapshot);
715 connect(&pm,
716 &DataModel::ProjectModel::sourceFrameParserTemplateChanged,
717 this,

Callers

nothing calls this directly

Calls 4

operationModeMethod · 0.80
isConnectedMethod · 0.45
isOpenMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected