kioslaves/imap4
imapParser Class Reference
Inheritance diagram for imapParser:

Detailed Description
Definition at line 187 of file imapparser.h.
Public Types | |
enum | IMAP_STATE { ISTATE_NO, ISTATE_CONNECT, ISTATE_LOGIN, ISTATE_SELECT } |
Public Member Functions | |
imapParser () | |
virtual | ~imapParser () |
enum IMAP_STATE | getState () |
void | setState (enum IMAP_STATE state) |
const QString | getCurrentBox () |
imapCommand * | sendCommand (imapCommand *aCmd) |
imapCommand * | doCommand (imapCommand *aCmd) |
bool | clientLogin (const QString &aUser, const QString &aPass, QString &resultInfo) |
bool | clientAuthenticate (KIO::SlaveBase *slave, KIO::AuthInfo &ai, const QString &aFQDN, const QString &aAuth, bool isSSL, QString &resultInfo) |
int | parseLoop () |
void | parseUntagged (parseString &result) |
void | parseRecent (ulong value, parseString &result) |
void | parseResult (QByteArray &result, parseString &rest, const QString &command=QString::null) |
void | parseCapability (parseString &result) |
void | parseFlags (parseString &result) |
void | parseList (parseString &result) |
void | parseLsub (parseString &result) |
void | parseListRights (parseString &result) |
void | parseMyRights (parseString &result) |
void | parseSearch (parseString &result) |
void | parseStatus (parseString &result) |
void | parseExists (ulong value, parseString &result) |
void | parseExpunge (ulong value, parseString &result) |
void | parseAcl (parseString &result) |
void | parseAnnotation (parseString &result) |
void | parseNamespace (parseString &result) |
void | parseQuotaRoot (parseString &result) |
void | parseQuota (parseString &result) |
void | parseFetch (ulong value, parseString &inWords) |
mailHeader * | parseEnvelope (parseString &inWords) |
void | parseAddressList (parseString &inWords, QPtrList< mailAddress > &list) |
const mailAddress & | parseAddress (parseString &inWords, mailAddress &buffer) |
void | parseBody (parseString &inWords) |
mimeHeader * | parseBodyStructure (parseString &inWords, QString §ion, mimeHeader *inHeader=0) |
mimeHeader * | parseSimplePart (parseString &inWords, QString §ion, mimeHeader *localPart=0) |
QAsciiDict< QString > | parseParameters (parseString &inWords) |
QAsciiDict< QString > | parseDisposition (parseString &inWords) |
virtual void | parseRelay (const QByteArray &buffer) |
virtual void | parseRelay (ulong) |
virtual bool | parseRead (QByteArray &buffer, ulong len, ulong relay=0) |
virtual bool | parseReadLine (QByteArray &buffer, ulong relay=0) |
virtual void | parseWriteLine (const QString &) |
void | parseSentence (parseString &inWords) |
QCString | parseLiteralC (parseString &inWords, bool relay=false, bool stopAtBracket=false, int *outlen=0) |
QByteArray | parseLiteral (parseString &inWords, bool relay=false, bool stopAtBracket=false) |
imapCache * | getLastHandled () |
const QStringList & | getResults () |
const imapInfo & | getStatus () |
const imapInfo & | getSelected () |
const QByteArray & | getContinuation () |
bool | hasCapability (const QString &) |
void | removeCapability (const QString &cap) |
QString | namespaceForBox (const QString &box) |
Static Public Member Functions | |
static QCString | b2c (const QByteArray &ba) |
static QCString | parseOneWordC (parseString &inWords, bool stopAtBracket=FALSE, int *len=0) |
static bool | parseOneNumber (parseString &inWords, ulong &num) |
static void | parseURL (const KURL &_url, QString &_box, QString &_section, QString &_type, QString &_uid, QString &_validity, QString &_info) |
static void | skipWS (parseString &inWords) |
Protected Attributes | |
enum IMAP_STATE | currentState |
QString | currentBox |
imapInfo | selectInfo |
imapInfo | lastStatus |
QStringList | imapCapabilities |
QValueList< imapList > | listResponses |
QPtrList< imapCommand > | sentQueue |
QPtrList< imapCommand > | completeQueue |
QStringList | unhandled |
QByteArray | continuation |
QString | seenUid |
imapCache * | lastHandled |
ulong | commandCounter |
QStringList | lastResults |
QMap< QString, QString > | namespaceToDelimiter |
QStringList | imapNamespaces |
Member Enumeration Documentation
the different states the client can be in
- Enumerator:
-
ISTATE_NO Not connected. ISTATE_CONNECT Connected but not logged in. ISTATE_LOGIN Logged in. ISTATE_SELECT A folder is currently selected.
Definition at line 193 of file imapparser.h.
Member Function Documentation
enum IMAP_STATE imapParser::getState | ( | ) | [inline] |
void imapParser::setState | ( | enum IMAP_STATE | state | ) | [inline] |
imapCommand * imapParser::sendCommand | ( | imapCommand * | aCmd | ) |
do setup and send the command to parseWriteLine
- Parameters:
-
aCmd The command to perform
- Returns:
- The completed command
Definition at line 91 of file imapparser.cc.
imapCommand * imapParser::doCommand | ( | imapCommand * | aCmd | ) |
perform a command and wait to parse the result
- Parameters:
-
aCmd The command to perform
- Returns:
- The completed command
Definition at line 78 of file imapparser.cc.
bool imapParser::clientLogin | ( | const QString & | aUser, | |
const QString & | aPass, | |||
QString & | resultInfo | |||
) |
plaintext login
- Parameters:
-
aUser Username aPass Password resultInfo The resultinfo from the command
- Returns:
- success or failure
Definition at line 133 of file imapparser.cc.
bool imapParser::clientAuthenticate | ( | KIO::SlaveBase * | slave, | |
KIO::AuthInfo & | ai, | |||
const QString & | aFQDN, | |||
const QString & | aAuth, | |||
bool | isSSL, | |||
QString & | resultInfo | |||
) |
non-plaintext login
- Parameters:
-
aUser Username aPass Password aAuth authentication method isSSL are we using SSL resultInfo The resultinfo from the command
- Returns:
- success or failure
Definition at line 202 of file imapparser.cc.
int imapParser::parseLoop | ( | ) |
main loop for the parser reads one line and dispatches it to the appropriate sub parser
Definition at line 1678 of file imapparser.cc.
void imapParser::parseUntagged | ( | parseString & | result | ) |
parses all untagged responses and passes them on to the following parsers
Definition at line 325 of file imapparser.cc.
void imapParser::parseRecent | ( | ulong | value, | |
parseString & | result | |||
) |
void imapParser::parseResult | ( | QByteArray & | result, | |
parseString & | rest, | |||
const QString & | command = QString::null | |||
) |
void imapParser::parseCapability | ( | parseString & | result | ) |
void imapParser::parseFlags | ( | parseString & | result | ) |
void imapParser::parseList | ( | parseString & | result | ) |
void imapParser::parseLsub | ( | parseString & | result | ) |
void imapParser::parseListRights | ( | parseString & | result | ) |
void imapParser::parseMyRights | ( | parseString & | result | ) |
void imapParser::parseSearch | ( | parseString & | result | ) |
void imapParser::parseStatus | ( | parseString & | result | ) |
void imapParser::parseExists | ( | ulong | value, | |
parseString & | result | |||
) |
void imapParser::parseExpunge | ( | ulong | value, | |
parseString & | result | |||
) |
void imapParser::parseAcl | ( | parseString & | result | ) |
void imapParser::parseAnnotation | ( | parseString & | result | ) |
void imapParser::parseNamespace | ( | parseString & | result | ) |
void imapParser::parseQuotaRoot | ( | parseString & | result | ) |
void imapParser::parseQuota | ( | parseString & | result | ) |
void imapParser::parseFetch | ( | ulong | value, | |
parseString & | inWords | |||
) |
parses the results of a fetch command processes it with the following sub parsers
Definition at line 1395 of file imapparser.cc.
mailHeader * imapParser::parseEnvelope | ( | parseString & | inWords | ) |
void imapParser::parseAddressList | ( | parseString & | inWords, | |
QPtrList< mailAddress > & | list | |||
) |
const mailAddress & imapParser::parseAddress | ( | parseString & | inWords, | |
mailAddress & | buffer | |||
) |
void imapParser::parseBody | ( | parseString & | inWords | ) |
mimeHeader * imapParser::parseBodyStructure | ( | parseString & | inWords, | |
QString & | section, | |||
mimeHeader * | inHeader = 0 | |||
) |
mimeHeader * imapParser::parseSimplePart | ( | parseString & | inWords, | |
QString & | section, | |||
mimeHeader * | localPart = 0 | |||
) |
QAsciiDict< QString > imapParser::parseParameters | ( | parseString & | inWords | ) |
QAsciiDict< QString > imapParser::parseDisposition | ( | parseString & | inWords | ) |
parse the disposition list (disposition (name value pairs)) the disposition has the key 'content-disposition'
Definition at line 949 of file imapparser.cc.
void imapParser::parseRelay | ( | const QByteArray & | buffer | ) | [virtual] |
relay hook to send the fetched data directly to an upper level
Reimplemented in IMAP4Protocol.
Definition at line 1739 of file imapparser.cc.
void imapParser::parseRelay | ( | ulong | ) | [virtual] |
relay hook to announce the fetched data directly to an upper level
Reimplemented in IMAP4Protocol.
Definition at line 1747 of file imapparser.cc.
bool imapParser::parseRead | ( | QByteArray & | buffer, | |
ulong | len, | |||
ulong | relay = 0 | |||
) | [virtual] |
read at least len bytes
Reimplemented in IMAP4Protocol.
Definition at line 1754 of file imapparser.cc.
bool imapParser::parseReadLine | ( | QByteArray & | buffer, | |
ulong | relay = 0 | |||
) | [virtual] |
read at least a line (up to CRLF)
Reimplemented in IMAP4Protocol.
Definition at line 1764 of file imapparser.cc.
void imapParser::parseWriteLine | ( | const QString & | ) | [virtual] |
write argument to server
Reimplemented in IMAP4Protocol.
Definition at line 1774 of file imapparser.cc.
void imapParser::parseSentence | ( | parseString & | inWords | ) |
QCString imapParser::parseLiteralC | ( | parseString & | inWords, | |
bool | relay = false , |
|||
bool | stopAtBracket = false , |
|||
int * | outlen = 0 | |||
) |
QCString imapParser::parseOneWordC | ( | parseString & | inWords, | |
bool | stopAtBracket = FALSE , |
|||
int * | len = 0 | |||
) | [static] |
parse one word (maybe quoted) upto next space " ) ] }
Definition at line 1890 of file imapparser.cc.
bool imapParser::parseOneNumber | ( | parseString & | inWords, | |
ulong & | num | |||
) | [static] |
void imapParser::parseURL | ( | const KURL & | _url, | |
QString & | _box, | |||
QString & | _section, | |||
QString & | _type, | |||
QString & | _uid, | |||
QString & | _validity, | |||
QString & | _info | |||
) | [static] |
extract the box,section,list type, uid, uidvalidity,info from an url
Definition at line 1782 of file imapparser.cc.
imapCache* imapParser::getLastHandled | ( | ) | [inline] |
return the last handled foo
- Todo:
- work out what a foo is
Definition at line 387 of file imapparser.h.
const QStringList& imapParser::getResults | ( | ) | [inline] |
const imapInfo& imapParser::getStatus | ( | ) | [inline] |
const imapInfo& imapParser::getSelected | ( | ) | [inline] |
bool imapParser::hasCapability | ( | const QString & | ) |
QString imapParser::namespaceForBox | ( | const QString & | box | ) |
Member Data Documentation
enum IMAP_STATE imapParser::currentState [protected] |
QString imapParser::currentBox [protected] |
imapInfo imapParser::selectInfo [protected] |
here we store the result from select/examine and unsolicited updates
Definition at line 442 of file imapparser.h.
imapInfo imapParser::lastStatus [protected] |
QStringList imapParser::imapCapabilities [protected] |
QValueList< imapList > imapParser::listResponses [protected] |
QPtrList< imapCommand > imapParser::sentQueue [protected] |
QStringList imapParser::unhandled [protected] |
everything we didn't handle, everything but the greeting is bogus
Definition at line 460 of file imapparser.h.
QByteArray imapParser::continuation [protected] |
the last continuation request (there MUST not be more than one pending)
Definition at line 463 of file imapparser.h.
QString imapParser::seenUid [protected] |
QStringList imapParser::lastResults [protected] |
QMap<QString, QString> imapParser::namespaceToDelimiter [protected] |
namespace prefix - delimiter association The namespace is cleaned before so that it does not contain the delimiter
Definition at line 478 of file imapparser.h.
QStringList imapParser::imapNamespaces [protected] |
list of namespaces in the form: section=namespace=delimiter section is 0 (personal), 1 (other users) or 2 (shared)
Definition at line 484 of file imapparser.h.
The documentation for this class was generated from the following files: