From 8840a1cc1339b8e29ed76247537a5474e49e5e9d Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Thu, 6 Feb 2025 10:09:33 +0100 Subject: [PATCH] Select by commandline signature, which columns are exported in CSV. (#623) Signed-off-by: Alexander Wenzel --- commander/main.cpp | 8 +- commander/optmanager.cpp | 20 ++++- commander/optmanager.h | 2 + qdlt/qdltexporter.cpp | 162 +++++++++++++++++++++++++++++++-------- qdlt/qdltexporter.h | 7 +- qdlt/qdltoptmanager.cpp | 16 +++- qdlt/qdltoptmanager.h | 4 +- src/mainwindow.cpp | 18 ++--- 8 files changed, 184 insertions(+), 53 deletions(-) diff --git a/commander/main.cpp b/commander/main.cpp index 67d40121..73b1f329 100644 --- a/commander/main.cpp +++ b/commander/main.cpp @@ -126,7 +126,7 @@ int main(int argc, char *argv[]) if(opt.get_convertionmode()==e_DLT) { qDebug() << "### Convert to DLT"; - QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatDlt,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter()); + QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatDlt,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter(),opt.getSignature()); if(opt.isMultifilter()) exporter.setMultifilterFilenames(opt.getFilterFiles()); else @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) if(opt.get_convertionmode()==e_ASCI) { qDebug() << "### Convert to ASCII"; - QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatAscii,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter()); + QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatAscii,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter(),opt.getSignature()); if(opt.isMultifilter()) exporter.setMultifilterFilenames(opt.getFilterFiles()); else @@ -150,7 +150,7 @@ int main(int argc, char *argv[]) if(opt.get_convertionmode()==e_CSV) { qDebug() << "### Convert to CSV"; - QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatCsv,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter()); + QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatCsv,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter(),opt.getSignature()); if(opt.isMultifilter()) exporter.setMultifilterFilenames(opt.getFilterFiles()); else @@ -162,7 +162,7 @@ int main(int argc, char *argv[]) if(opt.get_convertionmode()==e_UTF8) { qDebug() << "### Convert to UTF8"; - QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatUTF8,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter()); + QDltExporter exporter(&dltFile,opt.getConvertDestFile(),0,QDltExporter::FormatUTF8,QDltExporter::SelectionAll,0,1,0,0,opt.getDelimiter(),opt.getSignature()); if(opt.isMultifilter()) exporter.setMultifilterFilenames(opt.getFilterFiles()); else diff --git a/commander/optmanager.cpp b/commander/optmanager.cpp index 8a3a5c39..a44035b6 100644 --- a/commander/optmanager.cpp +++ b/commander/optmanager.cpp @@ -23,6 +23,8 @@ #include "optmanager.h" #include "../src/version.h" +#include "qdltexporter.h" + #include #include #include @@ -37,7 +39,8 @@ OptManager::OptManager() convert = false; filter = false; convertionmode = e_ASCI; - delimiter = ','; + delimiter = QDLT_DEFAULT_EXPORT_DELIMITER; + signature = QDLT_DEFAULT_EXPORT_SIGNATURE; multifilter = false; } @@ -92,7 +95,8 @@ void OptManager::printUsage() qDebug()<<" -u\tConversion will be done in UTF8 instead of ASCII"; qDebug()<<" -csv\tConversion will be done in CSV format"; qDebug()<<" -d\tConversion will NOT be done, save in dlt file format again instead"; - qDebug()<<" -delimiter \tThe used delimiter for CSV export (Default: ,)."; + qDebug()<<" -delimiter \tThe used delimiter for CSV export (Default: "+QString(QDLT_DEFAULT_EXPORT_DELIMITER)+")."; + qDebug()<<" -signature \tThe used signature for CSV export, which columns are exported (Default: "+QString(QDLT_DEFAULT_EXPORT_SIGNATURE)+"). I=Index,T=Time,S=Timestamp,O=Count,E=Ecuid,A=Apid,C=Ctid,N=SessionId,Y=Type,U=Subtype,M=Mode,R=#Args,P=Payload"; qDebug()<<" -multifilter\tMultifilter will generate a separate export file with the name of the filter."; qDebug()<<" \t-c will define the folder name, not the filename."; qDebug()<<"\nExamples:\n"; @@ -100,6 +104,7 @@ void OptManager::printUsage() qDebug().noquote() << executable << "-c -u .\\trace.txt c:\\trace\\trace.dlt"; qDebug().noquote() << executable << "-d -c .\\trace.dlt c:\\trace\\trace.dlt"; qDebug().noquote() << executable << "-csv -c .\\trace.csv c:\\trace\\trace.dlt"; + qDebug().noquote() << executable << "-csv -delimiter ; -signature TSEACP -c c:\\trace\\trace.csv c:\\trace\\trace.dlt"; qDebug().noquote() << executable << "-d -c .\\filteredtrace.dlt c:\\filter\\filter.dlf c:\\trace\\trace.dlt"; qDebug().noquote() << executable << "trace_1.dlt trace_2.dlt"; qDebug().noquote() << executable << "input.pcap output.dlt"; @@ -153,6 +158,16 @@ void OptManager::parse(QStringList *opt) i += 1; } + else if(str.compare("-signature")==0) + { + QString c1 = opt->value(i+1); + + signature = QString("%1").arg(c1).toLatin1(); + + qDebug() << "Signature:" << signature; + + i += 1; + } else if(str.compare("-u")==0) { qDebug() << "Convert to UTF8"; @@ -214,3 +229,4 @@ QStringList OptManager::getFilterFiles(){return filterFiles;} QString OptManager::getConvertSourceFile(){return convertSourceFile;} QString OptManager::getConvertDestFile(){return convertDestFile;} char OptManager::getDelimiter(){return delimiter;} +QString OptManager::getSignature(){return signature;} diff --git a/commander/optmanager.h b/commander/optmanager.h index f8eb150e..cb1f6091 100644 --- a/commander/optmanager.h +++ b/commander/optmanager.h @@ -56,6 +56,7 @@ class OptManager QString getConvertSourceFile(); QString getConvertDestFile(); char getDelimiter(); + QString getSignature(); const QStringList &getPcapFiles() const; const QStringList &getMf4Files() const; @@ -75,6 +76,7 @@ class OptManager QString convertSourceFile; QString convertDestFile; char delimiter; + QString signature; }; #endif // OPTMANAGER_H diff --git a/qdlt/qdltexporter.cpp b/qdlt/qdltexporter.cpp index 278066bf..4aa32092 100644 --- a/qdlt/qdltexporter.cpp +++ b/qdlt/qdltexporter.cpp @@ -9,7 +9,7 @@ QDltExporter::QDltExporter(QDltFile *from, QString outputfileName, QDltPluginManager *pluginManager, QDltExporter::DltExportFormat exportFormat, - QDltExporter::DltExportSelection exportSelection, QModelIndexList *selection, int _automaticTimeSettings,qlonglong _utcOffset,int _dst,char _delimiter,QObject *parent) : + QDltExporter::DltExportSelection exportSelection, QModelIndexList *selection, int _automaticTimeSettings,qlonglong _utcOffset,int _dst,char delimiter,QString signature,QObject *parent) : QThread(parent) { size = 0; @@ -18,7 +18,7 @@ QDltExporter::QDltExporter(QDltFile *from, QString outputfileName, QDltPluginMan automaticTimeSettings=_automaticTimeSettings; utcOffset=_utcOffset; dst=_dst; - delimiter=_delimiter; + this->delimiter=delimiter; this->from = from; to.setFileName(outputfileName); @@ -27,6 +27,8 @@ QDltExporter::QDltExporter(QDltFile *from, QString outputfileName, QDltPluginMan this->exportFormat = exportFormat; this->exportSelection = exportSelection; this->selection = selection; + + this->signature = signature; } void QDltExporter::run() @@ -45,20 +47,78 @@ QString QDltExporter::escapeCSVValue(QString arg) bool QDltExporter::writeCSVHeader() { - QString header = QString("\"%1\"")+delimiter+QString("\"%2\"")+delimiter+QString("\"%3\"")+delimiter+QString("\"%4\"")+delimiter+QString("\"%5\"")+delimiter+QString("\"%6\"")+delimiter+QString("\"%7\"")+delimiter+QString("\"%8\"")+delimiter+QString("\"%9\"")+delimiter+QString("\"%10\"")+delimiter+QString("\"%11\"")+delimiter+QString("\"%12\"")+delimiter+QString("\"%13\"\n"); - header = header.arg(FieldNames::getName(FieldNames::Index)) - .arg(FieldNames::getName(FieldNames::Time)) - .arg(FieldNames::getName(FieldNames::TimeStamp)) - .arg(FieldNames::getName(FieldNames::Counter)) - .arg(FieldNames::getName(FieldNames::EcuId)) - .arg(FieldNames::getName(FieldNames::AppId)) - .arg(FieldNames::getName(FieldNames::ContextId)) - .arg(FieldNames::getName(FieldNames::SessionId)) - .arg(FieldNames::getName(FieldNames::Type)) - .arg(FieldNames::getName(FieldNames::Subtype)) - .arg(FieldNames::getName(FieldNames::Mode)) - .arg(FieldNames::getName(FieldNames::ArgCount)) - .arg(FieldNames::getName(FieldNames::Payload)); + + /* + + Used Signature: + + I Index + T Time + S Timestamp + O Count + E Ecuid + A Apid + C Ctid + N SessionId + Y Type + U Subtype + M Mode + R #Args + P Payload + + Default: ITSOEACNYUMRP + */ + + QString header; + for(int num = 0; num < signature.size();num++) + { + if(num!=0) + header += delimiter; + switch(signature[num].toLatin1()) + { + case 'I': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Index)); + break; + case 'T': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Time)); + break; + case 'S': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::TimeStamp)); + break; + case 'O': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Counter)); + break; + case 'E': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::EcuId)); + break; + case 'A': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::AppId)); + break; + case 'C': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::ContextId)); + break; + case 'N': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::SessionId)); + break; + case 'Y': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Type)); + break; + case 'U': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Subtype)); + break; + case 'M': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Mode)); + break; + case 'R': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::ArgCount)); + break; + case 'P': + header += QString("\"%1\"").arg(FieldNames::getName(FieldNames::Payload)); + break; + } + } + header += "\n"; + if(multifilterFilenames.isEmpty()) to.write(header.toLatin1().constData()); else @@ -73,24 +133,58 @@ void QDltExporter::writeCSVLine(int index, QDltMsg msg,QFile &to) { QString text(""); - text += escapeCSVValue(QString("%1").arg(index)).append(delimiter); - if( automaticTimeSettings == 0 ) - text += escapeCSVValue(QString("%1.%2").arg(msg.getGmTimeWithOffsetString(utcOffset,dst)).arg(msg.getMicroseconds(),6,10,QLatin1Char('0'))).append(delimiter); - else - text += escapeCSVValue(QString("%1.%2").arg(msg.getTimeString()).arg(msg.getMicroseconds(),6,10,QLatin1Char('0'))).append(delimiter); - text += escapeCSVValue(QString("%1.%2").arg(msg.getTimestamp()/10000).arg(msg.getTimestamp()%10000,4,10,QLatin1Char('0'))).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getMessageCounter())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getEcuid().simplified())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getApid().simplified())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getCtid().simplified())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getSessionid())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getTypeString())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getSubtypeString())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getModeString())).append(delimiter); - text += escapeCSVValue(QString("%1").arg(msg.getNumberOfArguments())).append(delimiter); - QString payload = msg.toStringPayload().simplified().remove(QChar::Null); - if(from) from->applyRegExString(msg,payload); - text += escapeCSVValue(payload); + for(int num = 0; num < signature.size();num++) + { + if(num!=0) + text += delimiter; + switch(signature[num].toLatin1()) + { + case 'I': + text += escapeCSVValue(QString("%1").arg(index)); + break; + case 'T': + if( automaticTimeSettings == 0 ) + text += escapeCSVValue(QString("%1.%2").arg(msg.getGmTimeWithOffsetString(utcOffset,dst)).arg(msg.getMicroseconds(),6,10,QLatin1Char('0'))); + else + text += escapeCSVValue(QString("%1.%2").arg(msg.getTimeString()).arg(msg.getMicroseconds(),6,10,QLatin1Char('0'))); + break; + case 'S': + text += escapeCSVValue(QString("%1.%2").arg(msg.getTimestamp()/10000).arg(msg.getTimestamp()%10000,4,10,QLatin1Char('0'))); + break; + case 'O': + text += escapeCSVValue(QString("%1").arg(msg.getMessageCounter())); + break; + case 'E': + text += escapeCSVValue(QString("%1").arg(msg.getEcuid().simplified())); + break; + case 'A': + text += escapeCSVValue(QString("%1").arg(msg.getApid().simplified())); + break; + case 'C': + text += escapeCSVValue(QString("%1").arg(msg.getCtid().simplified())); + break; + case 'N': + text += escapeCSVValue(QString("%1").arg(msg.getSessionid())); + break; + case 'Y': + text += escapeCSVValue(QString("%1").arg(msg.getTypeString())); + break; + case 'U': + text += escapeCSVValue(QString("%1").arg(msg.getSubtypeString())); + break; + case 'M': + text += escapeCSVValue(QString("%1").arg(msg.getModeString())); + break; + case 'R': + text += escapeCSVValue(QString("%1").arg(msg.getNumberOfArguments())); + break; + case 'P': + QString payload = msg.toStringPayload().simplified().remove(QChar::Null); + if(from) from->applyRegExString(msg,payload); + text += escapeCSVValue(payload); + break; + } + } text += "\n"; to.write(text.toLatin1().constData()); diff --git a/qdlt/qdltexporter.h b/qdlt/qdltexporter.h index cd23307d..0e84b1df 100644 --- a/qdlt/qdltexporter.h +++ b/qdlt/qdltexporter.h @@ -11,6 +11,10 @@ #include "qdltmsg.h" #include "qdltpluginmanager.h" + +#define QDLT_DEFAULT_EXPORT_SIGNATURE "ITSOEACNYUMRP" +#define QDLT_DEFAULT_EXPORT_DELIMITER ',' + class QDLT_EXPORT QDltExporter : public QThread { Q_OBJECT @@ -56,7 +60,7 @@ class QDLT_EXPORT QDltExporter : public QThread */ explicit QDltExporter(QDltFile *from, QString outputfileName, QDltPluginManager *pluginManager, QDltExporter::DltExportFormat exportFormat, - QDltExporter::DltExportSelection exportSelection, QModelIndexList *selection, int _automaticTimeSettings,qlonglong _utcOffset,int _dst,char _delimiter,QObject *parent = 0); + QDltExporter::DltExportSelection exportSelection, QModelIndexList *selection, int _automaticTimeSettings,qlonglong _utcOffset,int _dst,char delimiter=QDLT_DEFAULT_EXPORT_DELIMITER,QString signature=QDLT_DEFAULT_EXPORT_SIGNATURE,QObject *parent = 0); void run() override; @@ -110,6 +114,7 @@ public slots: QStringList multifilterFilenames; QList multifilterFilesList; QList multifilterFilterList; + QString signature; }; #endif // QDLTEXPORTER_H diff --git a/qdlt/qdltoptmanager.cpp b/qdlt/qdltoptmanager.cpp index fd1d9fd9..334b9bbc 100644 --- a/qdlt/qdltoptmanager.cpp +++ b/qdlt/qdltoptmanager.cpp @@ -23,6 +23,7 @@ #include "qdltoptmanager.h" #include "version.h" +#include "qdltexporter.h" #include #include @@ -48,11 +49,14 @@ QDltOptManager::QDltOptManager() {"stream", "Treat the input logfiles as DLT stream instead of DLT files."}, {QStringList() << "t" << "terminate", "Terminate DLT Viewer after command line execution."}, {"w", "Set the working directory", "workingdirectory"}, - {"delimiter", "The used delimiter for CSV export (Default: ,).", "character"}, + {"delimiter", "The used delimiter for CSV export (Default: "+QString(QDLT_DEFAULT_EXPORT_DELIMITER)+").", "string"}, + {"signature", "The used signature for CSV export, which columns are exported (Default: "+QString(QDLT_DEFAULT_EXPORT_SIGNATURE)+"). I=Index,T=Time,S=Timestamp,O=Count,E=Ecuid,A=Apid,C=Ctid,N=SessionId,Y=Type,U=Subtype,M=Mode,R=#Args,P=Payload", "character"}, {QStringList() << "h" << "help", "Print this help message."}, {QStringList() << "v" << "version", "Print the version."} }); + delimiter = QDLT_DEFAULT_EXPORT_DELIMITER; + signature = QDLT_DEFAULT_EXPORT_SIGNATURE; } QDltOptManager* QDltOptManager::getInstance() @@ -98,6 +102,7 @@ void QDltOptManager::printUsage(const QString& helpText) qDebug() << " dlt-viewer.exe -t -s -d -c output.dlt input.dlt"; qDebug() << " dlt-viewer.exe -t -s decoded.dlp -dd -c output.dlt input.dlt "; qDebug() << " dlt-viewer.exe -t -s -csv -c output.csv input.dlt"; + qDebug() << " dlt-viewer.exe -t -s -csv -delimiter ; -signature TSEACP -c output.csv input.dlt"; qDebug() << " dlt-viewer.exe -t -s -d filter.dlf -c output.dlt input.dlt"; qDebug() << " dlt-viewer.exe -p export.dlp -e \"Filetransfer Plugin|export|ftransferdir\" input.dlt"; qDebug() << " dlt-viewer.exe input1.dlt input2.dlt"; @@ -188,6 +193,11 @@ void QDltOptManager::parse(const QStringList& args) qDebug() << "Delimiter:" << delimiter; } + if (m_parser.isSet("signature")) { + signature = m_parser.value("signature").toLatin1(); + qDebug() << "Signature:" << signature; + } + if (m_parser.isSet("u")) { convertionmode = e_UTF8; } @@ -289,6 +299,7 @@ QString QDltOptManager::getCommandName(){return commandName;} QStringList QDltOptManager::getCommandParams(){return commandParams;} QString QDltOptManager::getWorkingDirectory() const { return workingDirectory; } char QDltOptManager::getDelimiter(){return delimiter;} +QString QDltOptManager::getSignature(){return signature;} QString QDltOptManager::getHelpText() const { @@ -313,7 +324,8 @@ void QDltOptManager::reset() prePluginCommands.clear(); postPluginCommands.clear(); workingDirectory.clear(); - delimiter=','; + delimiter=QDLT_DEFAULT_EXPORT_DELIMITER; + signature=QDLT_DEFAULT_EXPORT_SIGNATURE; pcapFiles.clear(); mf4Files.clear(); } diff --git a/qdlt/qdltoptmanager.h b/qdlt/qdltoptmanager.h index 53dc9eae..8ce3cd57 100644 --- a/qdlt/qdltoptmanager.h +++ b/qdlt/qdltoptmanager.h @@ -72,6 +72,7 @@ class QDLT_EXPORT QDltOptManager const QStringList &getPcapFiles() const; const QStringList &getMf4Files() const; char getDelimiter(); + QString getSignature(); QString getHelpText() const; @@ -103,7 +104,8 @@ class QDLT_EXPORT QDltOptManager QStringList postPluginCommands; // command after loading log file QString workingDirectory; - char delimiter{','}; + char delimiter; + QString signature; QCommandLineParser m_parser; }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d48963c6..08c2b5d2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -871,7 +871,7 @@ void MainWindow::commandLineConvertToDLT() qDebug() << "### Convert to DLT"; /* start exporter */ - QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatDlt,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatDlt,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); qDebug() << "Commandline DLT convert to " << QDltOptManager::getInstance()->getConvertDestFile(); exporter.exportMessages(); qDebug() << "DLT export to DLT file format done"; @@ -883,7 +883,7 @@ void MainWindow::commandLineConvertToASCII() qDebug() << "### Convert to ASCII"; /* start exporter */ - QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatAscii,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatAscii,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); qDebug() << "Commandline ASCII convert to " << QDltOptManager::getInstance()->getConvertDestFile(); exporter.exportMessages(); qDebug() << "DLT export ASCII done"; @@ -894,7 +894,7 @@ void MainWindow::commandLineConvertToCSV() qDebug() << "### Convert to CSV"; /* start exporter */ - QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatCsv,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatCsv,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); qDebug() << "Commandline ASCII convert to " << QDltOptManager::getInstance()->getConvertDestFile(); exporter.exportMessages(); qDebug() << "DLT export CSV done"; @@ -906,7 +906,7 @@ void MainWindow::commandLineConvertToUTF8() /* start exporter */ qDebug() << "### Convert to UTF8"; - QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatUTF8,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatUTF8,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); qDebug() << "Commandline UTF8 convert to " << QDltOptManager::getInstance()->getConvertDestFile(); exporter.exportMessages(); qDebug() << "DLT export UTF8 done"; @@ -917,7 +917,7 @@ void MainWindow::commandLineConvertToDLTDecoded() qDebug() << "### Convert to DLT Decoded"; /* start exporter */ - QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatDltDecoded,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,QDltOptManager::getInstance()->getConvertDestFile(),&pluginManager,QDltExporter::FormatDltDecoded,QDltExporter::SelectionFiltered,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); qDebug() << "Commandline decoding to dlt formated file" << QDltOptManager::getInstance()->getConvertDestFile(); exporter.exportMessages(); qDebug() << "DLT export DLT decoded done"; @@ -1552,7 +1552,7 @@ void MainWindow::exportSelection(bool ascii = true,bool file = false,QDltExporte filterUpdate(); // update filters of qfile before starting Exporting for RegEx operation - QDltExporter exporter(&qfile,"",&pluginManager,format,QDltExporter::SelectionSelected,&list,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,"",&pluginManager,format,QDltExporter::SelectionSelected,&list,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); connect(&exporter,SIGNAL(clipboard(QString)),this,SLOT(clipboard(QString))); exporter.exportMessages(); disconnect(&exporter,SIGNAL(clipboard(QString)),this,SLOT(clipboard(QString))); @@ -1590,7 +1590,7 @@ void MainWindow::exportSelection_searchTable(QDltExporter::DltExportFormat forma filterUpdate(); // update filters of qfile before starting Exporting for RegEx operation - QDltExporter exporter(&qfile,"",&pluginManager,format,QDltExporter::SelectionSelected,&finallist,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter()); + QDltExporter exporter(&qfile,"",&pluginManager,format,QDltExporter::SelectionSelected,&finallist,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature()); connect(&exporter,SIGNAL(clipboard(QString)),this,SLOT(clipboard(QString))); exporter.exportMessages(); disconnect(&exporter,SIGNAL(clipboard(QString)),this,SLOT(clipboard(QString))); @@ -1699,11 +1699,11 @@ void MainWindow::on_actionExport_triggered() if(exportSelection == QDltExporter::SelectionSelected) // marked messages { - exporterThread = new QDltExporter(&qfile, fileName, &pluginManager,exportFormat,exportSelection,&list,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),this); + exporterThread = new QDltExporter(&qfile, fileName, &pluginManager,exportFormat,exportSelection,&list,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature(),this); } else { - exporterThread = new QDltExporter(&qfile, fileName, &pluginManager,exportFormat,exportSelection,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),this); + exporterThread = new QDltExporter(&qfile, fileName, &pluginManager,exportFormat,exportSelection,0,project.settings->automaticTimeSettings,project.settings->utcOffset,project.settings->dst,QDltOptManager::getInstance()->getDelimiter(),QDltOptManager::getInstance()->getSignature(),this); exporterThread->exportMessageRange(startix,stopix); } connect(exporterThread, &QDltExporter::progress, this, &MainWindow::progress);