KIMAP::FetchJob::FetchScope

Search for usage in LXR

KIMAP::FetchJob::FetchScope Class Reference

#include <fetchjob.h>

Public Types

enum  Mode {
  Headers , Flags , Structure , Content ,
  Full , HeaderAndContent , FullHeaders
}
 

Public Attributes

quint64 changedSince = 0
 
Mode mode = Content
 
QList< QByteArrayparts
 
bool qresync = false
 

Detailed Description

Used to indicate what message data should be fetched.

This doesn't provide the same fine-grained control over what is fetched that the IMAP FETCH command normally does, but the common cases are catered for.

Definition at line 74 of file fetchjob.h.

Member Enumeration Documentation

◆ Mode

Used to indicate what part of the message should be fetched.

Enumerator
Headers 

Fetch RFC-2822 or MIME message headers.

To fetch MIME headers for a MIME part, populate the parts field.

If the RFC-2822 headers are requested (so parts is empty), the returned information is:

  • To, From, Message-id, References In-Reply-To, Subject and Date headers
  • The message size (in octets)
  • The internal date of the message
  • The message flags
  • The message UID
Flags 

Fetch the message flags (the UID is also fetched)

Structure 

Fetch the MIME message body structure (the UID is also fetched)

Content 

Fetch the message content (the UID is also fetched)

To fetch only certain MIME parts (see Structure), populate the parts field.

Full 

Fetch the complete message.

HeaderAndContent 

Fetch the message MIME headers and the content of parts specified in the parts field.

If parts is empty, this mode will return the full message, just like FetchScope::Content

Use case:

  1. Start a FetchJob with the FetchScope::Structure mode to retrieve the structure of the message.
  2. Parse the structure to identify the parts that are interesting (ie: probably everything but attachments).
  3. Start another FetchJob with FetchScope::HeaderAndContent to fetch those parts.
  4. At the request of the user, you can repeat the step above to fetch the attachments.
Since
4.7
FullHeaders 

Fetch message size (in octets), internal date of the message, flags, UID and all RFC822 headers.

The parts field is ignored when using this scope

Since
4.12

Definition at line 82 of file fetchjob.h.

Constructor & Destructor Documentation

◆ FetchScope()

FetchJob::FetchScope::FetchScope ( )

Definition at line 89 of file fetchjob.cpp.

Member Data Documentation

◆ changedSince

quint64 KIMAP::FetchJob::FetchScope::changedSince = 0

Specify to fetch only items with mod-sequence higher then changedSince.

The server must have CONDSTORE capability (RFC4551).

Default value is 0 (ignored).

Since
4.12

Definition at line 177 of file fetchjob.h.

◆ mode

Mode KIMAP::FetchJob::FetchScope::mode = Content

Specify what message data should be fetched.

Definition at line 166 of file fetchjob.h.

◆ parts

QList<QByteArray> KIMAP::FetchJob::FetchScope::parts

Specify which message parts to operate on.

This refers to multipart-MIME message parts or MIME-IMB encapsulated message parts.

Note that this is ignored unless mode is Headers or Content.

If mode is Headers, this sets the parts to get the MIME headers for. If this list is empty, the headers for the whole message (the RFC-2822 headers) are fetched.

If mode is Content, this sets the parts to fetch. Parts are fetched wholesale. If this list is empty, the whole message body is fetched (all MIME parts together).

Definition at line 162 of file fetchjob.h.

◆ qresync

bool KIMAP::FetchJob::FetchScope::qresync = false

Specify whether QRESYNC is supported and should be used.

When enabled, the changedSince parameter must be specified as well. The server will then also return list of messages that have been deleted from the mailbox since the specified modification sequence.

The server must have QRESYNC capability (RFC5162) and it must have explicitly been enabled via ENABLE command (see @EnableJob).

QRESYNC can only be used in UID FETCH (

See also
setUidBased())
Since
5.16

Definition at line 193 of file fetchjob.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
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.