* @brief Closes the currently open file and releases resources */
| 481 | * @brief Closes the currently open file and releases resources |
| 482 | */ |
| 483 | void MDF4::Player::closeFile() |
| 484 | { |
| 485 | if (!isOpen()) |
| 486 | return; |
| 487 | |
| 488 | m_framePos = 0; |
| 489 | m_reader.reset(); |
| 490 | m_filePath.clear(); |
| 491 | m_channels.clear(); |
| 492 | m_timestamp.clear(); |
| 493 | m_frameIndex.clear(); |
| 494 | m_sampleCache.clear(); |
| 495 | m_stringCache.clear(); |
| 496 | m_timestampCache.clear(); |
| 497 | m_activeChannels.clear(); |
| 498 | m_channelIsString.clear(); |
| 499 | m_multiSource = false; |
| 500 | m_isSerialStudioFile = false; |
| 501 | m_masterTimeChannel = nullptr; |
| 502 | m_sourceChannelsByIndex.clear(); |
| 503 | |
| 504 | DataModel::FrameBuilder::instance().registerQuickPlotHeaders(QStringList()); |
| 505 | DataModel::FrameBuilder::instance().setReplayColumnMap({}); |
| 506 | |
| 507 | Q_EMIT openChanged(); |
| 508 | Q_EMIT playerStateChanged(); |
| 509 | } |
| 510 | |
| 511 | /** |
| 512 | * @brief Advances to the next frame |
nothing calls this directly
no test coverage detected