From e68706b8d6e0bac2295d14dca17152f14cf93e90 Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 14 May 2023 14:07:13 +0200 Subject: [PATCH] shared: Add DocumentProcessResult This should be returned by processors --- shared/documentprocessresult.cpp | 39 ++++++++++++++++++++++++++++++++ shared/documentprocessresult.h | 17 ++++++++++++++ shared/shared.pro | 4 ++++ 3 files changed, 60 insertions(+) create mode 100644 shared/documentprocessresult.cpp create mode 100644 shared/documentprocessresult.h diff --git a/shared/documentprocessresult.cpp b/shared/documentprocessresult.cpp new file mode 100644 index 0000000..07e4bf6 --- /dev/null +++ b/shared/documentprocessresult.cpp @@ -0,0 +1,39 @@ +#include "documentprocessresult.h" + +QDataStream &operator<<(QDataStream &out, const DocumentProcessResult &pd) +{ + out << pd.pages.size(); + out << pd.outlines.size(); + for(const PageData &pd : pd.pages) + { + out << pd; + } + for(const DocumentOutlineEntry &outline : pd.outlines) + { + out << outline; + } + return out; +} + +QDataStream &operator>>(QDataStream &in, DocumentProcessResult &pd) +{ + int numPages, numOutlines; + in >> numPages; + in >> numOutlines; + + for(int i = 0; i < numPages; i++) + { + PageData data; + in >> data; + pd.pages.append(data); + } + + for(int i = 0; i < numOutlines; i++) + { + DocumentOutlineEntry outline; + in >> outline; + pd.outlines.append(outline); + } + + return in; +} diff --git a/shared/documentprocessresult.h b/shared/documentprocessresult.h new file mode 100644 index 0000000..7296f21 --- /dev/null +++ b/shared/documentprocessresult.h @@ -0,0 +1,17 @@ +#ifndef DOCUMENTPROCESSRESULT_H +#define DOCUMENTPROCESSRESULT_H +#include +#include + +class DocumentProcessResult +{ + public: + QVector pages; + QVector outlines; +}; +Q_DECLARE_METATYPE(DocumentProcessResult); + +QDataStream &operator<<(QDataStream &out, const DocumentProcessResult &pd); +QDataStream &operator>>(QDataStream &in, DocumentProcessResult &pd); + +#endif // DOCUMENTPROCESSRESULT_H diff --git a/shared/shared.pro b/shared/shared.pro index a6f1a89..18ad6ea 100644 --- a/shared/shared.pro +++ b/shared/shared.pro @@ -42,6 +42,8 @@ SOURCES += sqlitesearch.cpp \ dbmigrator.cpp \ defaulttextprocessor.cpp \ dirscanworker.cpp \ + documentoutlineentry.cpp \ + documentprocessresult.cpp \ encodingdetector.cpp \ filesaver.cpp \ filescanworker.cpp \ @@ -72,6 +74,8 @@ HEADERS += sqlitesearch.h \ dbmigrator.h \ defaulttextprocessor.h \ dirscanworker.h \ + documentoutlineentry.h \ + documentprocessresult.h \ encodingdetector.h \ filedata.h \ filesaver.h \