* @brief Enables or disables data export. */
| 592 | * @brief Enables or disables data export. |
| 593 | */ |
| 594 | void MDF4::Export::setExportEnabled(const bool enabled) |
| 595 | { |
| 596 | const bool allow = enabled && AppState::instance().operationMode() != SerialStudio::ConsoleOnly; |
| 597 | |
| 598 | #ifdef BUILD_COMMERCIAL |
| 599 | const auto& tk = Licensing::CommercialToken::current(); |
| 600 | if (tk.isValid() && SS_LICENSE_GUARD() && tk.featureTier() >= Licensing::FeatureTier::Trial) { |
| 601 | if (!allow && isOpen()) |
| 602 | closeFile(); |
| 603 | |
| 604 | setConsumerEnabled(allow); |
| 605 | if (m_persistSettings) |
| 606 | m_settings.setValue("MDF4Export", allow); |
| 607 | |
| 608 | Q_EMIT enabledChanged(); |
| 609 | return; |
| 610 | } |
| 611 | |
| 612 | closeFile(); |
| 613 | setConsumerEnabled(false); |
| 614 | if (m_persistSettings) |
| 615 | m_settings.setValue("MDF4Export", false); |
| 616 | |
| 617 | Q_EMIT enabledChanged(); |
| 618 | #else |
| 619 | closeFile(); |
| 620 | m_exportEnabled.store(false, std::memory_order_relaxed); |
| 621 | if (m_persistSettings) |
| 622 | m_settings.setValue("MDF4Export", false); |
| 623 | |
| 624 | Q_EMIT enabledChanged(); |
| 625 | #endif |
| 626 | |
| 627 | if (enabled) |
| 628 | Misc::Utilities::showMessageBox( |
| 629 | tr("MDF4 Export is a Pro feature."), |
| 630 | tr("This feature requires a license. Please purchase one to enable MDF4 export.")); |
| 631 | } |
| 632 | |
| 633 | /** |
| 634 | * @brief Receives timestamped frame data and enqueues it for export. |
no test coverage detected