• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

KIMAP Library

KIMAP::ImapStreamParser

KIMAP::ImapStreamParser Class Reference

Parser for IMAP messages that operates on a local socket stream. More...

#include <imapstreamparser.h>

List of all members.

Public Member Functions

bool atCommandEnd ()
bool atListEnd ()
bool atLiteralEnd () const
bool atResponseCodeEnd ()
int availableDataSize () const
bool hasList ()
bool hasLiteral ()
bool hasResponseCode ()
bool hasString ()
 ImapStreamParser (QIODevice *socket)
QByteArray readLiteralPart ()
qint64 readNumber (bool *ok=0)
QList< QByteArray > readParenthesizedList ()
QByteArray readRemainingData ()
QByteArray readString ()
QByteArray readUntilCommandEnd ()
QString readUtf8String ()
void setData (const QByteArray &data)
 ~ImapStreamParser ()

Detailed Description

Parser for IMAP messages that operates on a local socket stream.

Definition at line 53 of file imapstreamparser.h.


Constructor & Destructor Documentation

ImapStreamParser::ImapStreamParser ( QIODevice *  socket  ) 

Construct the parser.

Parameters:
socket the local socket to work with.

Definition at line 28 of file imapstreamparser.cpp.

ImapStreamParser::~ImapStreamParser (  ) 

Destructor.

Definition at line 36 of file imapstreamparser.cpp.


Member Function Documentation

bool ImapStreamParser::atCommandEnd (  ) 

Check if the command end was reached.

Returns:
true if the end of command is reached

Definition at line 458 of file imapstreamparser.cpp.

bool ImapStreamParser::atListEnd (  ) 

Check if the next data is a parenthesized list end.

This call might block.

Returns:
true if a parenthesized list end.

Definition at line 175 of file imapstreamparser.cpp.

bool ImapStreamParser::atLiteralEnd (  )  const

Check if the literal data end was reached.

See hasLiteral and readLiteralPart .

Returns:
true if the literal was completely read.

Definition at line 131 of file imapstreamparser.cpp.

bool ImapStreamParser::atResponseCodeEnd (  ) 

Check if the next data is a response code end.

This call might block.

Returns:
true if a response code end.

Definition at line 293 of file imapstreamparser.cpp.

bool ImapStreamParser::hasList (  ) 

Check if the next data is a parenthesized list.

This call might block.

Returns:
true if a parenthesized list comes.

Definition at line 159 of file imapstreamparser.cpp.

bool ImapStreamParser::hasLiteral (  ) 

Check if the next data is a literal data or not.

If a literal is found, the internal position pointer is set to the beginning of the literal data. This call might block.

Returns:
true if a literal follows

Definition at line 95 of file imapstreamparser.cpp.

bool ImapStreamParser::hasResponseCode (  ) 

Check if the next data is a response code.

This call might block.

Returns:
true if a response code comes.

Definition at line 276 of file imapstreamparser.cpp.

bool ImapStreamParser::hasString (  ) 

Check if the next data is a string or not.

This call might block.

Returns:
true if a string follows

Definition at line 71 of file imapstreamparser.cpp.

QByteArray ImapStreamParser::readLiteralPart (  ) 

Read the next literal sequence.

This might or might not be the full data. Example code to read a literal would be:

 ImapStreamParser parser;
  ...
 if (parser.hasLiteral())
 {
   while (!parser.atLiteralEnd())
   {
      QByteArray data = parser.readLiteralPart();
      // do something with the data
   }
 }

This call might block.

Returns:
part of a literal data

Definition at line 136 of file imapstreamparser.cpp.

qint64 ImapStreamParser::readNumber ( bool *  ok = 0  ) 

Get the next data as a number.

This call might block.

Parameters:
ok true if the data found was a number
Returns:
the number

Definition at line 388 of file imapstreamparser.cpp.

QList< QByteArray > ImapStreamParser::readParenthesizedList (  ) 

Get he next parenthesized list.

If the upcoming data is not a parenthesized list, the behavior is undefined. Use hasList to be sure a string comes. This call might block.

Returns:
the next parenthesized list.

Definition at line 192 of file imapstreamparser.cpp.

QByteArray ImapStreamParser::readRemainingData (  ) 

Return all the data that was read from the socket, but not processed yet.

Returns:
the remaining unprocessed data

Definition at line 448 of file imapstreamparser.cpp.

QByteArray ImapStreamParser::readString (  ) 

Same as above, but without decoding it to utf8.

Returns:
the next string from the message

Definition at line 49 of file imapstreamparser.cpp.

QByteArray ImapStreamParser::readUntilCommandEnd (  ) 

Return everything that remained from the command.

Returns:
the remaining command data

Definition at line 480 of file imapstreamparser.cpp.

QString ImapStreamParser::readUtf8String (  ) 

Get a string from the message.

If the upcoming data is not a quoted string, unquoted string or a literal, the behavior is undefined. Use hasString to be sure a string comes. This call might block.

Returns:
the next string from the message as an utf8 string

Definition at line 40 of file imapstreamparser.cpp.


The documentation for this class was generated from the following files:
  • imapstreamparser.h
  • imapstreamparser.cpp

KIMAP Library

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

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  • kldap
  • kmime
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal