KMime::Headers::Generics::Structured
#include <headers.h>
Public Member Functions | |
QString | asUnicodeString () const override |
void | from7BitString (QByteArrayView s) override |
void | fromUnicodeString (const QString &s) override |
void | fromUnicodeString (const QString &s, const QByteArray &b) |
Public Member Functions inherited from KMime::Headers::Base | |
Base () | |
virtual | ~Base () |
virtual QByteArray | as7BitString (bool withHeaderType=true) const =0 |
void | fromUnicodeString (const QString &s, const QByteArray &b) |
bool | is (QByteArrayView t) const |
virtual bool | isEmpty () const =0 |
QByteArray | rfc2047Charset () const |
void | setRFC2047Charset (const QByteArray &cs) |
virtual const char * | type () const |
Protected Member Functions | |
virtual bool | parse (const char *&scursor, const char *const send, bool isCRLF=false)=0 |
Protected Member Functions inherited from KMime::Headers::Base | |
QByteArray | typeIntro () const |
Additional Inherited Members | |
Public Types inherited from KMime::Headers::Base | |
typedef QList< KMime::Headers::Base * > | List |
Detailed Description
Base class for structured header fields.
This is the base class for all structured header fields. It contains parsing methods for all basic token types found in rfc2822.
Parsing
At the basic level, there are tokens & tspecials (rfc2045), atoms & specials, quoted-strings, domain-literals (all rfc822) and encoded-words (rfc2047).
As a special token, we have the comment. It is one of the basic tokens defined in rfc822, but it's parsing relies in part on the basic token parsers (e.g. comments may contain encoded-words). Also, most upper-level parsers (notably those for phrase and dot-atom) choose to ignore any comment when parsing.
Then there are the real composite tokens, which are made up of one or more of the basic tokens (and semantically invisible comments): phrases (rfc822 with rfc2047) and dot-atoms (rfc2822).
This finishes the list of supported token types. Subclasses will provide support for more higher-level tokens, where necessary, using these parsers.
Constructor & Destructor Documentation
◆ Structured()
KMime::Headers::Generics::Structured::Structured | ( | ) |
Definition at line 197 of file headers.cpp.
Member Function Documentation
◆ asUnicodeString()
|
nodiscardoverridevirtual |
Returns the decoded content of the header without the header-type.
- Note
- The return value of this method should only be used when showing an address to the user. It is not guaranteed that fromUnicodeString( asUnicodeString(), ... ) will return the original string.
Implements KMime::Headers::Base.
Definition at line 221 of file headers.cpp.
◆ from7BitString()
|
overridevirtual |
Parses the given string.
Take care of RFC2047-encoded strings.
- Parameters
-
s The encoded header data.
Implements KMime::Headers::Base.
Definition at line 211 of file headers.cpp.
◆ fromUnicodeString() [1/2]
|
overridevirtual |
Parses the given Unicode representation of the header content.
- Parameters
-
s The header data as Unicode string.
Implements KMime::Headers::Base.
Definition at line 226 of file headers.cpp.
◆ fromUnicodeString() [2/2]
|
inline |
◆ parse()
|
protectedpure virtual |
This method parses the raw header and needs to be implemented in every sub-class.
- Parameters
-
scursor Pointer to the start of the data still to parse. send Pointer to the end of the data. isCRLF true if input string is terminated with a CRLF.
Implemented in KMime::Headers::ContentDisposition, KMime::Headers::ContentID, KMime::Headers::ContentTransferEncoding, KMime::Headers::ContentType, KMime::Headers::Control, KMime::Headers::Date, KMime::Headers::Generics::AddressList, KMime::Headers::Generics::DotAtom, KMime::Headers::Generics::Ident, KMime::Headers::Generics::MailboxList, KMime::Headers::Generics::Parametrized, KMime::Headers::Generics::PhraseList, KMime::Headers::Generics::SingleIdent, KMime::Headers::Generics::SingleMailbox, KMime::Headers::Generics::Token, KMime::Headers::Lines, KMime::Headers::MailCopiesTo, KMime::Headers::Newsgroups, and KMime::Headers::ReturnPath.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:08:25 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.