Search for usage in LXR

KMime::Headers::Generics::Structured Class Referenceabstract

#include <kmime_headers.h>

Inheritance diagram for KMime::Headers::Generics::Structured:

Public Member Functions

QString asUnicodeString () const override
void from7BitString (const char *s, size_t len) override
void from7BitString (const QByteArray &s) override
void fromUnicodeString (const QString &s, const QByteArray &b) override
- Public Member Functions inherited from KMime::Headers::Base
 Base ()
virtual ~Base ()
virtual QByteArray as7BitString (bool withHeaderType=true) const =0
virtual void clear ()=0
bool is (const char *t) const
virtual bool isEmpty () const =0
bool isMimeHeader () const
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.


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.

Marc Mutz

Definition at line 283 of file kmime_headers.h.

Member Function Documentation

◆ asUnicodeString()

QString KMime::Headers::Generics::Structured::asUnicodeString ( ) const

Returns the decoded content of the header without the header-type.

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.

Reimplemented in KMime::Headers::Lines, KMime::Headers::Newsgroups, KMime::Headers::MailCopiesTo, KMime::Headers::Generics::DotAtom, KMime::Headers::Generics::PhraseList, KMime::Headers::Generics::AddressList, and KMime::Headers::Generics::MailboxList.

Definition at line 251 of file kmime_headers.cpp.

◆ from7BitString()

void KMime::Headers::Generics::Structured::from7BitString ( const char *  s,
size_t  len 

Parses the given string.

Take care of RFC2047-encoded strings.

sThe encoded header data.

Reimplemented from KMime::Headers::Base.

Definition at line 228 of file kmime_headers.cpp.

◆ fromUnicodeString()

void KMime::Headers::Generics::Structured::fromUnicodeString ( const QString s,
const QByteArray b 

Parses the given string and set the charset.

sThe header data as unicode string.
bThe charset preferred for encoding.

Implements KMime::Headers::Base.

Reimplemented in KMime::Headers::Newsgroups, KMime::Headers::Generics::AddressList, and KMime::Headers::Generics::MailboxList.

Definition at line 256 of file kmime_headers.cpp.

◆ parse()

virtual bool KMime::Headers::Generics::Structured::parse ( const char *&  scursor,
const char *const  send,
bool  isCRLF = false 
protectedpure virtual

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Sep 29 2023 03:52:02 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.