• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

KMIME Library

  • KMime
  • Headers
  • Generics
  • Structured
Public Member Functions | Protected Member Functions | List of all members
KMime::Headers::Generics::Structured Class Referenceabstract

#include <kmime_headers.h>

Inheritance diagram for KMime::Headers::Generics::Structured:
Inheritance graph
[legend]

Public Member Functions

 Structured (Content *p=0)
 
 Structured (Content *p, const QByteArray &s)
 
 Structured (Content *p, const QString &s, const QByteArray &cs)
 
virtual QString asUnicodeString () const
 
virtual void from7BitString (const QByteArray &s)
 
virtual void fromUnicodeString (const QString &s, const QByteArray &b)
 
- Public Member Functions inherited from KMime::Headers::Base
 Base (KMime::Content *parent=0)
 
virtual ~Base ()
 
virtual QByteArray as7BitString (bool withHeaderType=true) const =0
 
virtual void clear ()=0
 
QByteArray defaultCharset () const
 
bool forceDefaultCharset () const
 
bool is (const char *t) const
 
virtual bool isEmpty () const =0
 
bool isMimeHeader () const
 
bool isXHeader () const
 
KMime::Content * parent () const
 
QByteArray rfc2047Charset () const
 
void setParent (KMime::Content *parent)
 
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.

Author
Marc Mutz mutz@.nosp@m.kde..nosp@m.org

Definition at line 329 of file kmime_headers.h.

Member Function Documentation

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

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.

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 330 of file kmime_headers.cpp.

void KMime::Headers::Generics::Structured::from7BitString ( const QByteArray &  s)
virtual

Parses the given string.

Take care of RFC2047-encoded strings.

Parameters
sThe encoded header data.

Implements KMime::Headers::Base.

Definition at line 320 of file kmime_headers.cpp.

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

Parses the given string and set the charset.

Parameters
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 335 of file kmime_headers.cpp.

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

This method parses the raw header and needs to be implemented in every sub-class.

Parameters
scursorPointer to the start of the data still to parse.
sendPointer to the end of the data.
isCRLFtrue if input string is terminated with a CRLF.

Implemented in KMime::Headers::Lines, KMime::Headers::Newsgroups, KMime::Headers::Date, KMime::Headers::Control, KMime::Headers::ContentDisposition, KMime::Headers::ContentType, KMime::Headers::ContentID, KMime::Headers::ContentTransferEncoding, KMime::Headers::MailCopiesTo, KMime::Headers::ReturnPath, KMime::Headers::Generics::Parametrized, KMime::Headers::Generics::DotAtom, KMime::Headers::Generics::PhraseList, KMime::Headers::Generics::Token, KMime::Headers::Generics::SingleIdent, KMime::Headers::Generics::Ident, KMime::Headers::Generics::AddressList, KMime::Headers::Generics::SingleMailbox, and KMime::Headers::Generics::MailboxList.


The documentation for this class was generated from the following files:
  • kmime_headers.h
  • kmime_headers.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:11 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KMIME Library

Skip menu "KMIME Library"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal