KIMAP::ImapStreamParser
#include <imapstreamparser.h>
Public Member Functions | |
ImapStreamParser (QIODevice *socket, bool serverModeEnabled=false) | |
bool | atCommandEnd () |
bool | atListEnd () |
bool | atLiteralEnd () const |
bool | atResponseCodeEnd () |
int | availableDataSize () const |
bool | hasList () |
bool | hasLiteral () |
bool | hasResponseCode () |
bool | hasString () |
QByteArray | readLiteralPart () |
qint64 | readNumber (bool *ok=nullptr) |
QList< QByteArray > | readParenthesizedList () |
QByteArray | readRemainingData () |
QByteArray | readString () |
QByteArray | readUntilCommandEnd () |
QString | readUtf8String () |
void | setData (const QByteArray &data) |
Detailed Description
Parser for IMAP messages that operates on a local socket stream.
Definition at line 61 of file imapstreamparser.h.
Constructor & Destructor Documentation
◆ ImapStreamParser()
|
explicit |
Construct the parser.
- Parameters
-
socket the local socket to work with. serverModeEnabled true if the parser has to assume we're writing a server (e.g. sends continuation message automatically)
Definition at line 18 of file imapstreamparser.cpp.
Member Function Documentation
◆ atCommandEnd()
bool ImapStreamParser::atCommandEnd | ( | ) |
Check if the command end was reached.
- Returns
- true if the end of command is reached
Definition at line 460 of file imapstreamparser.cpp.
◆ atListEnd()
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 163 of file imapstreamparser.cpp.
◆ atLiteralEnd()
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 120 of file imapstreamparser.cpp.
◆ atResponseCodeEnd()
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.
◆ availableDataSize()
int ImapStreamParser::availableDataSize | ( | ) | const |
Definition at line 455 of file imapstreamparser.cpp.
◆ hasList()
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 148 of file imapstreamparser.cpp.
◆ hasLiteral()
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 79 of file imapstreamparser.cpp.
◆ hasResponseCode()
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 277 of file imapstreamparser.cpp.
◆ hasString()
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 58 of file imapstreamparser.cpp.
◆ readLiteralPart()
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:
This call might block.
- Returns
- part of a literal data
Definition at line 125 of file imapstreamparser.cpp.
◆ readNumber()
qint64 ImapStreamParser::readNumber | ( | bool * | ok = nullptr | ) |
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 389 of file imapstreamparser.cpp.
◆ readParenthesizedList()
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 179 of file imapstreamparser.cpp.
◆ readRemainingData()
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 450 of file imapstreamparser.cpp.
◆ readString()
QByteArray ImapStreamParser::readString | ( | ) |
Same as above, but without decoding it to utf8.
- Returns
- the next string from the message
Definition at line 34 of file imapstreamparser.cpp.
◆ readUntilCommandEnd()
QByteArray ImapStreamParser::readUntilCommandEnd | ( | ) |
Return everything that remained from the command.
- Returns
- the remaining command data
Definition at line 487 of file imapstreamparser.cpp.
◆ readUtf8String()
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 26 of file imapstreamparser.cpp.
◆ setData()
void ImapStreamParser::setData | ( | const QByteArray & | data | ) |
Definition at line 445 of file imapstreamparser.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 8 2024 12:06:50 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.