aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/com/libmailcore/IMAPFetchMessagesOperation.java
blob: 397ec1520872ee30dc672e06831dfe81e9f295bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.libmailcore;

import java.util.List;

/** Operation to fetch the list of messages in a folder. */
public class IMAPFetchMessagesOperation extends IMAPOperation {
    protected void finalize() throws Throwable
    {
        finalizeNative();
        super.finalize();
    }
    
    /** Sets progress listener. */
    public void setProgressListener(IMAPOperationItemProgressListener aListener) {
        listener = aListener;
        setupNativeOperationProgressListener();
    }
    
    /** Returns the progress listener. */
    public IMAPOperationItemProgressListener progressListener() {
        return listener;
    }
    
    /** Sets the list of extra headers to fetch. They must be set before starting the operation. */
    public native void setExtraHeaders(List<String> extraHeaders);
    /** Returns the list of extra headers to fetch. */
    public native List<String> extraHeaders();
    
    /** Returns the list of messages. */
    public native List<IMAPMessage> messages();
    /** Returns the list of UIDs of the deleted messages on an IMAP server that supports QRESYNC. */
    public native IndexSet vanishedMessages();
    
    private native void finalizeNative();
    
    private IMAPOperationItemProgressListener listener;
    private native void setupNativeOperationProgressListener();
    private long nativeOperationProgressListener;
}