JingleTransport.java

 1package eu.siacs.conversations.xmpp.jingle;
 2
 3import android.util.Log;
 4import android.util.Pair;
 5
 6import org.bouncycastle.crypto.engines.AESEngine;
 7import org.bouncycastle.crypto.modes.AEADBlockCipher;
 8import org.bouncycastle.crypto.modes.GCMBlockCipher;
 9import org.bouncycastle.crypto.params.AEADParameters;
10import org.bouncycastle.crypto.params.KeyParameter;
11
12import java.io.FileInputStream;
13import java.io.FileNotFoundException;
14import java.io.FileOutputStream;
15import java.io.InputStream;
16import java.io.OutputStream;
17import java.security.InvalidAlgorithmParameterException;
18import java.security.InvalidKeyException;
19import java.security.NoSuchAlgorithmException;
20
21import javax.crypto.Cipher;
22import javax.crypto.CipherInputStream;
23import javax.crypto.CipherOutputStream;
24import javax.crypto.NoSuchPaddingException;
25import javax.crypto.spec.IvParameterSpec;
26import javax.crypto.spec.SecretKeySpec;
27
28import eu.siacs.conversations.Config;
29import eu.siacs.conversations.entities.DownloadableFile;
30
31public abstract class JingleTransport {
32	public abstract void connect(final OnTransportConnected callback);
33
34	public abstract void receive(final DownloadableFile file,
35			final OnFileTransmissionStatusChanged callback);
36
37	public abstract void send(final DownloadableFile file,
38			final OnFileTransmissionStatusChanged callback);
39
40	public abstract void disconnect();
41}