#ifndef PARSER_H #define PARSER_H #include "parser_global.h" #include #include class ParserPrivate; class AScanData; class OneTasAScanData; class CEMeasuredData; class ShotList; class TasElementIndex; class ElementIndex; class CEData; class MetaData; class MovementData; class PatientData; class TemperatureData; enum class MotorPosition:unsigned short; class PARSERSHARED_EXPORT Parser { public: Parser(const std::string& aPath); ~Parser(); void setPath(const std::string& aPath); void setDataLength(unsigned long long aLength); unsigned long long getDataLength(); AScanData getAscanDataOfMotorPosition(const TasElementIndex& aSenderIndex,const TasElementIndex& aReceiverIndex, MotorPosition aMotorPosition, ShotList* aShotList = nullptr); AScanData getAscanDataOfCEMeasured(unsigned short aTasNum,const TasElementIndex& aReceiverIndex, ShotList* aShotList = nullptr); OneTasAScanData getOneTasAscanDataOfMotorPosition(unsigned short aTasNum, ShotList* aShotList = nullptr); OneTasAScanData getOneTasAscanDataOfCEMeasured(unsigned short aTasNum, ShotList* aShotList = nullptr); AScanData searchAscanDataFromOneTasAscanDataOfMP(OneTasAScanData aOneTasAscanData, const ElementIndex& aSenderElementIndex,const TasElementIndex& aReceiverTasElementIndex, MotorPosition aMotorPosition, ShotList* aShotList = nullptr); AScanData searchAscanDataFromOneTasAscanDataOfCE(OneTasAScanData aOneTasAscanData, const TasElementIndex& aReceiverTasElementIndex); CEMeasuredData getAllCEMeasuredData(ShotList* aShotList = nullptr); std::shared_ptr getShotList(); CEData getCEData(); MetaData getMetaData(); MovementData getMovementData(); PatientData getPatientData(); TemperatureData getTemperatureData(); bool hasCEMeasured(); bool verifyHashValue(); Parser(const Parser& aParser); std::shared_ptr clone(); Parser& operator=(const Parser& aParser) = delete; private: ParserPrivate* mPrivate; }; #endif // PARSER_H