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

KMIME Library

  • kmime
kmime_util.h
1 /* -*- c++ -*-
2  kmime_util.h
3 
4  KMime, the KDE Internet mail/usenet news message library.
5  Copyright (c) 2001 the KMime authors.
6  See file AUTHORS for details
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Library General Public
10  License as published by the Free Software Foundation; either
11  version 2 of the License, or (at your option) any later version.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Library General Public License for more details.
17 
18  You should have received a copy of the GNU Library General Public License
19  along with this library; see the file COPYING.LIB. If not, write to
20  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  Boston, MA 02110-1301, USA.
22 */
23 #ifndef __KMIME_UTIL_H__
24 #define __KMIME_UTIL_H__
25 
26 #include <QtCore/QString>
27 #include "kmime_export.h"
28 #include "kmime_headers.h"
29 #include "kmime_content.h"
30 
31 namespace KMime {
32 
33 class Message;
34 
40 KMIME_EXPORT extern QByteArray cachedCharset( const QByteArray &name );
41 
47 KMIME_EXPORT extern QByteArray cachedLanguage( const QByteArray &name );
48 
53 KMIME_EXPORT extern bool isUsAscii( const QString &s );
54 
62 KMIME_EXPORT extern QString nameForEncoding( KMime::Headers::contentEncoding enc );
63 
69 KMIME_EXPORT QList<KMime::Headers::contentEncoding> encodingsForData(
70  const QByteArray &data );
71 //@cond PRIVATE
72 extern const uchar specialsMap[16];
73 extern const uchar tSpecialsMap[16];
74 extern const uchar aTextMap[16];
75 extern const uchar tTextMap[16];
76 extern const uchar eTextMap[16];
77 
78 inline bool isOfSet( const uchar map[16], unsigned char ch )
79 {
80  return ( ch < 128 ) && ( map[ ch/8 ] & 0x80 >> ch%8 );
81 }
82 inline bool isSpecial( char ch )
83 {
84  return isOfSet( specialsMap, ch );
85 }
86 inline bool isTSpecial( char ch )
87 {
88  return isOfSet( tSpecialsMap, ch );
89 }
90 inline bool isAText( char ch )
91 {
92  return isOfSet( aTextMap, ch );
93 }
94 inline bool isTText( char ch )
95 {
96  return isOfSet( tTextMap, ch );
97 }
98 inline bool isEText( char ch )
99 {
100  return isOfSet( eTextMap, ch );
101 }
102 //@endcond
103 
113 KMIME_EXPORT extern void setFallbackCharEncoding( const QString& fallbackCharEnc );
114 
123 KMIME_EXPORT extern QString fallbackCharEncoding();
124 
136 KMIME_EXPORT extern void setUseOutlookAttachmentEncoding( bool violateStandard );
137 
141 KMIME_EXPORT extern bool useOutlookAttachmentEncoding();
154 KMIME_EXPORT extern QString decodeRFC2047String(
155  const QByteArray &src, QByteArray &usedCS, const QByteArray &defaultCS = QByteArray(),
156  bool forceCS = false );
157 
164 KMIME_EXPORT extern QString decodeRFC2047String( const QByteArray &src );
165 
183 KMIME_EXPORT extern QByteArray encodeRFC2047String(
184  const QString &src, const QByteArray &charset, bool addressHeader=false,
185  bool allow8bitHeaders=false );
186 
187 
199 KMIME_EXPORT extern QString decodeRFC2231String(
200  const QByteArray &src, QByteArray &usedCS, const QByteArray &defaultCS = QByteArray(),
201  bool forceCS = false );
202 
209 KMIME_EXPORT extern QString decodeRFC2231String( const QByteArray &src );
210 
211 
219 KMIME_EXPORT extern QByteArray encodeRFC2231String( const QString &src, const QByteArray &charset );
220 
229 KMIME_EXPORT extern QByteArray uniqueString();
230 
239 KMIME_EXPORT extern QByteArray multiPartBoundary();
240 
245 KMIME_EXPORT extern QByteArray unfoldHeader( const QByteArray &header );
246 
257 KMIME_EXPORT extern QByteArray extractHeader( const QByteArray &src,
258  const QByteArray &name );
259 
271 KMIME_EXPORT extern QList<QByteArray> extractHeaders( const QByteArray &src,
272  const QByteArray &name );
273 
286 KMIME_EXPORT extern QByteArray CRLFtoLF( const QByteArray &s );
287 
300 KMIME_EXPORT extern QByteArray CRLFtoLF( const char *s );
301 
315 KMIME_EXPORT extern QByteArray LFtoCRLF( const QByteArray &s );
316 
324 //AK_REVIEW: add correctly spelled methods and deprecated the wrongly spelled
325 // TODO: KDE5: BIC: rename to "removeQuotes"
326 KMIME_EXPORT extern void removeQuots( QByteArray &str );
327 
335 //AK_REVIEW: add correctly spelled methods and deprecated the wrongly spelled
336 // TODO: KDE5: BIC: rename to "removeQuotes"
337 KMIME_EXPORT extern void removeQuots( QString &str );
338 
346 KMIME_EXPORT extern void addQuotes( QByteArray &str, bool forceQuotes );
347 
354 KMIME_EXPORT extern void addQuotes( QString &str, bool forceQuotes );
355 
397 KMIME_EXPORT QString balanceBidiState( const QString &input );
398 
407 KMIME_EXPORT QString removeBidiControlChars( const QString &input );
408 
414 KMIME_EXPORT bool hasAttachment( Content* content );
415 
422 KMIME_EXPORT bool isSigned( Message* message );
423 
430 KMIME_EXPORT bool isEncrypted( Message* message );
431 
438 KMIME_EXPORT bool isInvitation( Content* content );
439 
440 } // namespace KMime
441 
442 #endif /* __KMIME_UTIL_H__ */
KMime::unfoldHeader
QByteArray unfoldHeader(const QByteArray &header)
Unfolds the given header if necessary.
Definition: kmime_util.cpp:574
kmime_content.h
This file is part of the API for handling MIME data and defines the Content class.
KMime::hasAttachment
bool hasAttachment(Content *content)
Returns whether or not the given MIME node contains an attachment part.
Definition: kmime_util.cpp:942
KMime::addQuotes
void addQuotes(QByteArray &str, bool forceQuotes)
Converts the given string into a quoted-string if the string contains any special characters (ie...
Definition: kmime_util.cpp:849
KMime::isSigned
bool isSigned(Message *message)
Returns whether or not the given message is partly or fully signed.
Definition: kmime_util.cpp:976
KMime::cachedLanguage
QByteArray cachedLanguage(const QByteArray &name)
Consult the language cache.
Definition: kmime_util.cpp:74
KMime::cachedCharset
QByteArray cachedCharset(const QByteArray &name)
Consult the charset cache.
Definition: kmime_util.cpp:61
KMime::decodeRFC2231String
QString decodeRFC2231String(const QByteArray &str, QByteArray &usedCS, const QByteArray &defaultCS, bool forceCS)
Decodes string src according to RFC2231.
Definition: kmime_util.cpp:491
KMime::setUseOutlookAttachmentEncoding
void setUseOutlookAttachmentEncoding(bool violateStandard)
Set whether or not to use outlook compatible attachment filename encoding.
Definition: kmime_util.cpp:194
KMime::encodeRFC2231String
QByteArray encodeRFC2231String(const QString &str, const QByteArray &charset)
Encodes string src according to RFC2231 using charset charset.
Definition: kmime_util.cpp:429
KMime::LFtoCRLF
QByteArray LFtoCRLF(const QByteArray &s)
Converts all occurrences of &quot;\n&quot; (LF) in s to &quot;\r\n&quot; (CRLF).
Definition: kmime_util.cpp:787
KMime::removeQuots
void removeQuots(QByteArray &str)
Removes quote (DQUOTE) characters and decodes &quot;quoted-pairs&quot; (ie.
Definition: kmime_util.cpp:818
KMime::nameForEncoding
QString nameForEncoding(Headers::contentEncoding enc)
Returns a user-visible string for a contentEncoding, for example &quot;quoted-printable&quot; for CEquPr...
Definition: kmime_util.cpp:98
KMime::extractHeaders
QList< QByteArray > extractHeaders(const QByteArray &src, const QByteArray &name)
Tries to extract the headers with name name from the string src, unfolding it if necessary.
Definition: kmime_util.cpp:737
KMime::isEncrypted
bool isEncrypted(Message *message)
Returns whether or not the given message is partly or fully encrypted.
Definition: kmime_util.cpp:996
KMime::multiPartBoundary
QByteArray multiPartBoundary()
Constructs a random string (sans leading/trailing &quot;--&quot;) that can be used as a multipart delimiter (ie...
Definition: kmime_util.cpp:569
kmime_headers.h
This file is part of the API for handling MIME data and defines the various header classes: ...
KMime::setFallbackCharEncoding
void setFallbackCharEncoding(const QString &fallbackCharEnc)
Set the fallback charset to use when decoding RFC2047-encoded headers.
Definition: kmime_util.cpp:184
KMime::encodingsForData
QList< Headers::contentEncoding > encodingsForData(const QByteArray &data)
Returns a list of encodings that can correctly encode the data.
Definition: kmime_util.cpp:111
KMime::decodeRFC2047String
QString decodeRFC2047String(const QByteArray &src, QByteArray &usedCS, const QByteArray &defaultCS, bool forceCS)
Decodes string src according to RFC2047,i.e., the construct =?charset?[qb]?encoded?=.
Definition: kmime_util.cpp:205
KMime::uniqueString
QByteArray uniqueString()
Uses current time, pid and random numbers to construct a string that aims to be unique on a per-host ...
Definition: kmime_util.cpp:542
KMime::isUsAscii
bool isUsAscii(const QString &s)
Checks whether s contains any non-us-ascii characters.
Definition: kmime_util.cpp:87
KMime::balanceBidiState
QString balanceBidiState(const QString &input)
Makes sure that the bidirectional state at the end of the string is the same as at the beginning of t...
Definition: kmime_util.cpp:859
KMime::isInvitation
bool isInvitation(Content *content)
Returns whether or not the given MIME content is an invitation message of the iTIP protocol...
Definition: kmime_util.cpp:1015
KMime::fallbackCharEncoding
QString fallbackCharEncoding()
Retrieve the set fallback charset if there is one set.
Definition: kmime_util.cpp:189
KMime::useOutlookAttachmentEncoding
bool useOutlookAttachmentEncoding()
Retrieve whether or not to use outlook compatible encodings for attachments.
Definition: kmime_util.cpp:199
KMime::removeBidiControlChars
QString removeBidiControlChars(const QString &input)
Similar to the above function.
Definition: kmime_util.cpp:905
KMime::extractHeader
QByteArray extractHeader(const QByteArray &src, const QByteArray &name)
Tries to extract the header with name name from the string src, unfolding it if necessary.
Definition: kmime_util.cpp:714
KMime::encodeRFC2047String
QByteArray encodeRFC2047String(const QString &src, const QByteArray &charset, bool addressHeader, bool allow8BitHeaders)
Encodes string src according to RFC2047 using charset charset.
Definition: kmime_util.cpp:269
KMime::CRLFtoLF
QByteArray CRLFtoLF(const QByteArray &s)
Converts all occurrences of &quot;\r\n&quot; (CRLF) in s to &quot;\n&quot; (LF).
Definition: kmime_util.cpp:774
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Nov 26 2013 09:02:28 by doxygen 1.8.5 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KMIME Library

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

kdepimlibs-4.11.3 API Reference

Skip menu "kdepimlibs-4.11.3 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
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