From d960570171cf55f4842d12235e2542943b0904ca 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 ++++++++++++++ 2 files changed, 56 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