MCPcopy Create free account
hub / github.com/KDE/labplot / read

Method read

src/backend/datasources/LiveDataSource.cpp:557–659  ·  view source on GitHub ↗

* called periodically or on new data changes (file changed, new data in the socket, etc.) */

Source from the content-addressed store, hash-verified

555 * called periodically or on new data changes (file changed, new data in the socket, etc.)
556 */
557void LiveDataSource::read() {
558 DEBUG(Q_FUNC_INFO);
559 if (!m_filter)
560 return;
561
562 if (m_reading)
563 return;
564
565 static bool firstRead = true;
566
567 m_reading = true;
568
569 // initialize the device (file, socket, serial port) when calling this function for the first time
570 if (!m_prepared) {
571 initDevice();
572 m_prepared = true;
573 }
574
575 switch (m_sourceType) {
576 case SourceType::FileOrPipe:
577 DEBUG("Reading FileOrPipe. type = " << ENUM_TO_STRING(AbstractFileFilter, FileType, m_fileType));
578 switch (m_fileType) {
579 case AbstractFileFilter::FileType::Ascii:
580 if (m_readingType == LiveDataSource::ReadingType::WholeFile) {
581 static_cast<AsciiFilter*>(m_filter)
582 ->readFromDevice(*m_device, AbstractFileFilter::ImportMode::Replace, AbstractFileFilter::ImportMode::Replace, 0, -1, 0);
583 } else {
584 qint64 bytes = static_cast<AsciiFilter*>(m_filter)->readFromDevice(*m_device,
585 AbstractFileFilter::ImportMode::Replace,
586 AbstractFileFilter::ImportMode::Append,
587 m_bytesRead,
588 sampleSize(),
589 m_keepNValues);
590 m_bytesRead += bytes;
591 // DEBUG("Read " << bytes << " bytes, in total: " << m_bytesRead);
592 }
593 break;
594 case AbstractFileFilter::FileType::Binary:
595 // TODO: not implemented yet
596 // bytes = qSharedPointerCast<BinaryFilter>(m_filter)->readFromLiveDevice(*m_file, this, m_bytesRead);
597 // m_bytesRead += bytes;
598 case AbstractFileFilter::FileType::ROOT:
599 case AbstractFileFilter::FileType::Spice:
600 // only re-reading of the whole file is supported
601 m_filter->readDataFromFile(m_fileName, this);
602 break;
603 // TODO: other types not implemented yet
604 case AbstractFileFilter::FileType::XLSX:
605 case AbstractFileFilter::FileType::Ods:
606 case AbstractFileFilter::FileType::Image:
607 case AbstractFileFilter::FileType::HDF5:
608 case AbstractFileFilter::FileType::VECTOR_BLF:
609 case AbstractFileFilter::FileType::NETCDF:
610 case AbstractFileFilter::FileType::FITS:
611 case AbstractFileFilter::FileType::JSON:
612 case AbstractFileFilter::FileType::READSTAT:
613 case AbstractFileFilter::FileType::MATIO:
614 case AbstractFileFilter::FileType::MCAP:

Callers 1

finalizeLoadMethod · 0.95

Calls 6

readFromDeviceMethod · 0.80
clearLastErrorMethod · 0.80
lastErrorMethod · 0.80
readDataFromFileMethod · 0.45
abortMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected