mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-24 10:22:15 -05:00
c0e4220b82
Fixes Issue 1278 Fixes Issue 119 Fixes Issue 1077 Fixes Issue 1238 Worked performed by danapple0 and cketti in https://k9mail.googlecode.com/svn/k9mail/branches/issue1116 Add support for most batch ops (except move and copy) in search results. Add support for batch move and copy on real folders. Increase efficiency of bulk IMAP moves and copies by doing as multiple UID operations. Eliminated serialization of Account objects. Provide up-references in useful places to make all future code cleaner and more efficient. Fixed a bunch of draft handling Merged from issue1116 branch, except for Account.java, which was copied wholesale. Account.java was manually merged in issue1116 branch at r1489 svn merge -r 1459:1489 https://k9mail.googlecode.com/svn/k9mail/branches/issue1116 . cp ../issue1116/src/com/fsck/k9/Account.java src/com/fsck/k9/Account.java
38 lines
1.0 KiB
Java
38 lines
1.0 KiB
Java
|
|
package com.fsck.k9.mail;
|
|
|
|
import com.fsck.k9.Account;
|
|
import com.fsck.k9.mail.transport.SmtpTransport;
|
|
import com.fsck.k9.mail.transport.WebDavTransport;
|
|
|
|
public abstract class Transport
|
|
{
|
|
protected static final int SOCKET_CONNECT_TIMEOUT = 10000;
|
|
|
|
// RFC 1047
|
|
protected static final int SOCKET_READ_TIMEOUT = 300000;
|
|
|
|
public synchronized static Transport getInstance(Account account) throws MessagingException
|
|
{
|
|
String uri = account.getTransportUri();
|
|
if (uri.startsWith("smtp"))
|
|
{
|
|
return new SmtpTransport(uri);
|
|
}
|
|
else if (uri.startsWith("webdav"))
|
|
{
|
|
return new WebDavTransport(account);
|
|
}
|
|
else
|
|
{
|
|
throw new MessagingException("Unable to locate an applicable Transport for " + uri);
|
|
}
|
|
}
|
|
|
|
public abstract void open() throws MessagingException;
|
|
|
|
public abstract void sendMessage(Message message) throws MessagingException;
|
|
|
|
public abstract void close() throws MessagingException;
|
|
}
|