* @brief Checks if at least one data source/stream is active. */
| 332 | * @brief Checks if at least one data source/stream is active. |
| 333 | */ |
| 334 | bool UI::Dashboard::streamAvailable() const |
| 335 | { |
| 336 | if (Benchmark::HotpathBenchmark::active()) [[unlikely]] |
| 337 | return true; |
| 338 | |
| 339 | static auto& manager = IO::ConnectionManager::instance(); |
| 340 | static auto& csvPlayer = CSV::Player::instance(); |
| 341 | static auto& mf4Player = MDF4::Player::instance(); |
| 342 | |
| 343 | const bool csvOpen = csvPlayer.isOpen(); |
| 344 | const bool mf4Open = mf4Player.isOpen(); |
| 345 | const bool devOpen = manager.isConnected(); |
| 346 | |
| 347 | #ifdef BUILD_COMMERCIAL |
| 348 | static auto& sessPlayer = Sessions::Player::instance(); |
| 349 | const bool sessOpen = sessPlayer.isOpen(); |
| 350 | return devOpen || csvOpen || mf4Open || sessOpen; |
| 351 | #else |
| 352 | return devOpen || csvOpen || mf4Open; |
| 353 | #endif |
| 354 | } |
| 355 | |
| 356 | /** |
| 357 | * @brief Refreshes the cached stream flag read by hotpathRxFrame; wired to every input that |
no test coverage detected