Transfer Event

Fired while the message gets transferred from the MailServer .

Syntax

ANSI (Cross Platform)
virtual int FireTransfer(IMAPTransferEventParams *e);
typedef struct {
int Direction;
int64 BytesTransferred;
int PercentDone;
const char *Text; int reserved; } IMAPTransferEventParams; Unicode (Windows) virtual INT FireTransfer(IMAPTransferEventParams *e);
typedef struct {
INT Direction;
LONG64 BytesTransferred;
INT PercentDone;
LPCWSTR Text; INT reserved; } IMAPTransferEventParams;
- (void)onTransfer:(int)direction :(long long)bytesTransferred :(int)percentDone :(NSString*)text;
#define EID_IMAP_TRANSFER 14

virtual INT IPWORKS_CALL FireTransfer(INT &iDirection, LONG64 &lBytesTransferred, INT &iPercentDone, LPSTR &lpszText);

Remarks

The Transfer event is fired for every incoming line when receiving a message or part data from the MailServer

The Text parameter contains the portion of the message or the part data being retrieved.

The BytesTransferred parameter contains the number of bytes transferred since the beginning of the message, including header bytes. At the end of transmission (i.e. when the last Transfer event is fired), BytesTransferred equals the value of the MessageSize property.

The Transfer event is fired for every line of the message. There is no terminating newline at the end of the Text parameter. A faster way to retrieve a message is to assign a value to the LocalFile property and use the Transfer event only to check the progress rather than to get the actual data.

The Direction parameter shows whether the client (0) or the server (1) is sending the data.

The PercentDone parameter shows the progress of the transfer in the corresponding direction. If PercentDone can not be calculated the value will be -1.

Note that events are not re-entrant. Performing time consuming operations within this event will prevent it from firing again in a timely manner and may impact overall performance.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks 2020 C++ Edition - Version 20.0 [Build 8307]