libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::cbor::CborStreamReaderInterface Class Reference

base class to start a CBOR reader More...

#include <cborstreamreaderinterface.h>

Inheritance diagram for pappso::cbor::CborStreamReaderInterface:
pappso::cbor::mzcbor::ConvertToMzml pappso::cbor::mzcbor::MzcborIndexReader pappso::cbor::mzcbor::MzcborReaderBase pappso::cbor::psm::PsmFileReaderBase pappso::cbor::mzcbor::MzcborBuildIndexReader pappso::cbor::mzcbor::MzcborSpectrumCollectionReader pappso::cbor::psm::PsmCbor2Json pappso::cbor::psm::PsmFileAppend pappso::cbor::psm::PsmFileScanProcess pappso::cbor::psm::PsmFileScanProcessAndCopy pappso::cbor::psm::PsmFeatures pappso::cbor::psm::PsmIonSeries pappso::cbor::psm::PsmNewEval pappso::cbor::psm::PsmSpecGlob pappso::cbor::psm::PsmSpecPeptidOms

Public Member Functions

 CborStreamReaderInterface ()
 
virtual ~CborStreamReaderInterface ()
 
virtual void close ()
 convenient function to clean pointer before leaving
 

Protected Member Functions

bool getExpectedString ()
 
void initCborReader (QFile *pcborfile)
 
void initCborReader (QIODevice *pcborfile)
 

Protected Attributes

CborStreamReadermpa_cborReader = nullptr
 
QString m_expectedString
 
QByteArray m_data
 

Detailed Description

base class to start a CBOR reader

containing convenient function to ensure that the stream pointer to the CBOR source (file or device) is correctly open.

Definition at line 42 of file cborstreamreaderinterface.h.

Constructor & Destructor Documentation

◆ CborStreamReaderInterface()

pappso::cbor::CborStreamReaderInterface::CborStreamReaderInterface ( )

Default constructor

Definition at line 30 of file cborstreamreaderinterface.cpp.

31{
32}

◆ ~CborStreamReaderInterface()

pappso::cbor::CborStreamReaderInterface::~CborStreamReaderInterface ( )
virtual

Destructor

Definition at line 34 of file cborstreamreaderinterface.cpp.

35{
36 // qWarning() << "~CborStreamReaderInterface";
37 if(mpa_cborReader != nullptr)
38 delete mpa_cborReader;
39 mpa_cborReader = nullptr;
40}

Member Function Documentation

◆ close()

void pappso::cbor::CborStreamReaderInterface::close ( )
virtual

convenient function to clean pointer before leaving

Reimplemented in pappso::cbor::mzcbor::ConvertToMzml, pappso::cbor::mzcbor::MzcborIndexReader, pappso::cbor::mzcbor::MzcborReaderBase, pappso::cbor::psm::PsmCbor2Json, pappso::cbor::psm::PsmFileAppend, and pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 44 of file cborstreamreaderinterface.cpp.

45{
46 // qWarning() << "close PsmFileReaderBase";
47 if(mpa_cborReader != nullptr)
48 delete mpa_cborReader;
49 mpa_cborReader = nullptr;
50 // qWarning() << "close PsmFileReaderBase";
51}

◆ getExpectedString()

◆ initCborReader() [1/2]

void pappso::cbor::CborStreamReaderInterface::initCborReader ( QFile *  pcborfile)
protected

Definition at line 80 of file cborstreamreaderinterface.cpp.

81{
82
83 if(mpa_cborReader != nullptr)
84 delete mpa_cborReader;
85 mpa_cborReader = nullptr;
86 mpa_cborReader = new CborStreamReader();
87 // try to mmap the file, this is faster
88 char *ptr =
89 reinterpret_cast<char *>(pcborfile->map(0, pcborfile->size(), QFile::MapPrivateOption));
90 if(ptr)
91 {
92 // worked
93 m_data = QByteArray::fromRawData(ptr, pcborfile->size());
94 mpa_cborReader->addData(m_data);
95 }
96 else if(pcborfile->isSequential())
97 {
98 // details requires full contents, so allocate memory
99 m_data = pcborfile->readAll();
100 mpa_cborReader->addData(m_data);
101 }
102 else
103 {
104 // just use the QIODevice
105 mpa_cborReader->setDevice(pcborfile);
106 }
107}

Referenced by pappso::cbor::psm::PsmFileReaderBase::readCbor(), pappso::cbor::mzcbor::MzcborBuildIndexReader::readCbor(), and pappso::cbor::psm::PsmFileReaderBase::readCbor().

◆ initCborReader() [2/2]

void pappso::cbor::CborStreamReaderInterface::initCborReader ( QIODevice *  pcborfile)
protected

Definition at line 69 of file cborstreamreaderinterface.cpp.

70{
71
72 if(mpa_cborReader != nullptr)
73 delete mpa_cborReader;
74 mpa_cborReader = nullptr;
75 mpa_cborReader = new CborStreamReader();
76 // just use the QIODevice
77 mpa_cborReader->setDevice(pcborfile);
78}

Member Data Documentation

◆ m_data

QByteArray pappso::cbor::CborStreamReaderInterface::m_data
protected

Definition at line 70 of file cborstreamreaderinterface.h.

◆ m_expectedString

◆ mpa_cborReader


The documentation for this class was generated from the following files: