mail::account::updateFolderIndexFlags — Update status of multiple messages
#include <libmail/mail.H>
class myCallback : public mail::callback {
public:
void success(std::string msg);
void fail(std::string msg);
};
mail::account *account;
account->updateFolderIndexFlags( |
const std::vector<size_t> msgList, |
bool doFlip, | |
bool enableDisable, | |
const messageInfo &msgInfo, | |
myCallback &callback) ; |
This is a version of mail::account::saveFolderIndexInfo(3x) that updates the status of multiple messages with one request.
msgList
specifies
a list of messages. Messages are numbered starting with
message #0 and up to one less than mail::account::getFolderIndexSize(3x)()
(when mail::account::getFolderIndexSize
returns
6, the messages are numbered 0 through 5). Only the messages
that appear in msgList
are processed by this
request.
msgInfo
selects
which message status flags should be updated in every
message. See mail::account::getFolderIndexInfo(3x).
msgInfo
does NOT
specify the new value of the status flags, only which status
flags should be updated. For example, setting msgInfo
.marked
to true indicates that
the messages' marked
status flag will be
set to the value specified by doFlip
and enableDisable
.
Setting doFlip
to
true
"flips" the selected status
flags (each message's flag will be set to false if the status
flag was originally true, and set to true if the status flag
was originalfalse). If doFlip
is false, then the
selected status flags are set to the value of enableDisable
enableDisable
is ignored when
Setting doFlip
is
true.
The application must wait until callback
's success
or fail
method is invoked. The success
method is invoked when this request
is succesfully processed. The fail
method is invoked if this request
cannot be processed. The application must not destroy
callback
until either
the success
or fail
method is invoked.
callback
's
fail
method may be invoked
even after other callback methods were invoked. This
indicates that the request was partially completed before
the error was encountered.
The application is notified about when a message's
status changes by by invoking the messageChanged
callback method of the
currently opened folder's mail::folderCallback object. Depending
on the mail server, the messageChanged
method may be invoked as
part of processing this request, or some time later after
this request is completed, and callback
's success
method was invoked.
Multiple applications may have the same account and
folder opened at the same time. It is possible that a
message referenced by this request was already deleted by
another application. Depending on the underlying server
implementation this will result in either a failed request,
invoking callback.fail
, or
the request completing (callback.success
invoked) but without
invoking any callback function that refer to the
message.