File indexing completed on 2024-06-16 03:42:51
0001 /* 0002 File : VectorBLFFilterPrivate.h 0003 Project : LabPlot 0004 Description : Private implementation class for VectorBLFFilter. 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2023 <martin.marmsoler@gmail.com> 0007 0008 SPDX-License-Identifier: GPL-3.0-or-later 0009 */ 0010 #ifndef VECTORBLFFILTERPRIVATE_H 0011 #define VECTORBLFFILTERPRIVATE_H 0012 0013 #include "CANFilterPrivate.h" 0014 #include "VectorBLFFilter.h" 0015 0016 class AbstractDataSource; 0017 class VectorBLFFilter; 0018 0019 class VectorBLFFilterPrivate : public CANFilterPrivate { 0020 public: 0021 explicit VectorBLFFilterPrivate(VectorBLFFilter*); 0022 virtual ~VectorBLFFilterPrivate() { 0023 } 0024 virtual bool isValid(const QString& filename) const override; 0025 0026 virtual QStringList lastErrors() const override; 0027 0028 private: 0029 enum class ParseStatus { 0030 Success, 0031 ErrorUnknown, 0032 ErrorInvalidFile, 0033 DBCInvalidFile, 0034 DBCMessageToLong, 0035 DBCBigEndian, 0036 DBCParserUnsupported, 0037 DBCUnknownID, 0038 DBCInvalidConversion 0039 }; 0040 static ParseStatus DBCParserParseStatusToVectorBLFStatus(DbcParser::ParseStatus); 0041 struct Errors { 0042 ParseStatus e; 0043 uint32_t CANId; 0044 }; 0045 QList<Errors> errors; 0046 0047 private: 0048 virtual int readDataFromFileCommonTime(const QString& fileName, int lines = -1) override; 0049 virtual int readDataFromFileSeparateTime(const QString& fileName, int lines = -1) override; 0050 0051 #ifdef HAVE_VECTOR_BLF 0052 const VectorBLFFilter* q; 0053 #endif 0054 }; 0055 0056 #endif // VECTORBLFFILTERPRIVATE_H