KItinerary
mimedocumentprocessor.cpp
59bool MimeDocumentProcessor::canHandleData(const QByteArray &encodedData, QStringView fileName) const
66ExtractorDocumentNode MimeDocumentProcessor::createNodeFromData(const QByteArray &encodedData) const
87ExtractorDocumentNode MimeDocumentProcessor::createNodeFromContent(const QVariant &decodedData) const
108static ExtractorDocumentNode expandContentNode(ExtractorDocumentNode &node, KMime::Content *content, const ExtractorEngine *engine)
121 if ((contentType && contentType->isPlainText() && fileName.isEmpty()) || (!contentType && content->isTopLevel())) {
126 child = engine->documentNodeFactory()->createNode(QVariant::fromValue(content->bodyAsMessage().get()), u"message/rfc822");
134static void expandContentNodeRecursive(ExtractorDocumentNode &node, KMime::Content *content, const ExtractorEngine *engine)
166 expandContentNode(node, child, engine); // do not recurse into nested emails, we want those as dedicated nodes
173void MimeDocumentProcessor::expandNode(ExtractorDocumentNode &node, const ExtractorEngine *engine) const
179bool MimeDocumentProcessor::matches(const ExtractorFilter &filter, const ExtractorDocumentNode &node) const
ExtractorDocumentNode createNode(const QByteArray &data, QStringView fileName={}, QStringView mimeType={}) const
Create a new document node from data.
Definition extractordocumentnodefactory.cpp:157
A node in the extracted document object tree.
Definition extractordocumentnode.h:50
void appendChild(ExtractorDocumentNode &child)
Add another child node.
Definition extractordocumentnode.cpp:141
void setContextDateTime(const QDateTime &contextDateTime)
Set the context date/time.
Definition extractordocumentnode.cpp:173
void setContent(const QVariant &content)
Set decoded content.
Definition extractordocumentnode.cpp:120
const ExtractorDocumentNodeFactory * documentNodeFactory() const
Factory for creating new document nodes.
Definition engine/extractorengine.cpp:175
Determines whether an extractor is applicable to a given email.
Definition extractorfilter.h:24
void destroyNode(ExtractorDocumentNode &node) const override
Destroys type-specific data in node.
Definition mimedocumentprocessor.cpp:186
ExtractorDocumentNode createNodeFromContent(const QVariant &decodedData) const override
Create a document node from an already decoded data type.
Definition mimedocumentprocessor.cpp:87
bool matches(const ExtractorFilter &filter, const ExtractorDocumentNode &node) const override
Checks whether the given filter matches node.
Definition mimedocumentprocessor.cpp:179
void expandNode(ExtractorDocumentNode &node, const ExtractorEngine *engine) const override
Create child nodes for node, as far as that's necessary for this document type.
Definition mimedocumentprocessor.cpp:173
ExtractorDocumentNode createNodeFromData(const QByteArray &encodedData) const override
Create a document node from raw data.
Definition mimedocumentprocessor.cpp:66
bool canHandleData(const QByteArray &encodedData, QStringView fileName) const override
Fast check whether the given encoded data can possibly be processed by this instance.
Definition mimedocumentprocessor.cpp:59
Headers::ContentType * contentType(bool create=true)
QString decodedText(bool trimText=false, bool removeTrailingNewlines=false)
Content * parent() const
QSharedPointer< Message > bodyAsMessage() const
Headers::ContentDisposition * contentDisposition(bool create=true)
QByteArray decodedContent()
bool isTopLevel() const
bool bodyIsMessage() const
T * header(bool create=false)
void setContent(const QByteArray &s)
Headers::Base * headerByType(const char *type) const
QList< Content * > contents() const
Classes for reservation/travel data models, data extraction and data augmentation.
Definition berelement.h:17
bool startsWith(QByteArrayView bv) const const
bool isEmpty() const const
bool endsWith(QChar ch) const const
CaseInsensitive
QVariant fromValue(T &&value)
T value() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:14:49 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:14:49 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.