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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/*
* Copyright (c) 2013-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
/*
* Copyright (c) 2015 Tarun Gupta.
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
package com.isode.stroke.filetransfer;
import com.isode.stroke.elements.JingleS5BTransportPayload;
import com.isode.stroke.signals.Signal2;
import com.isode.stroke.signals.Signal3;
import com.isode.stroke.elements.ErrorPayload;
import com.isode.stroke.jid.JID;
import java.util.Vector;
/**
* @brief The FileTransferTransporter class is an abstract factory definition
* to generate SOCKS5 bytestream transports or IBB bytestreams for use in file
* transfers.
*/
public abstract class FileTransferTransporter {
public abstract void startGeneratingLocalCandidates();
public abstract void stopGeneratingLocalCandidates();
public abstract void addRemoteCandidates(
final Vector<JingleS5BTransportPayload.Candidate> c, final String s);
public abstract void startTryingRemoteCandidates();
public abstract void stopTryingRemoteCandidates();
public abstract void startActivatingProxy(final JID proxy);
public abstract void stopActivatingProxy();
public abstract TransportSession createIBBSendSession(
final String sessionID, int blockSize, ReadBytestream r);
public abstract TransportSession createIBBReceiveSession(
final String sessionID, int size, WriteBytestream w);
public abstract TransportSession createRemoteCandidateSession(
ReadBytestream r, final JingleS5BTransportPayload.Candidate candidate);
public abstract TransportSession createRemoteCandidateSession(
WriteBytestream w, final JingleS5BTransportPayload.Candidate candidate);
public abstract TransportSession createLocalCandidateSession(
ReadBytestream r, final JingleS5BTransportPayload.Candidate candidate);
public abstract TransportSession createLocalCandidateSession(
WriteBytestream w, final JingleS5BTransportPayload.Candidate candidate);
public final Signal3<String, Vector<JingleS5BTransportPayload.Candidate>, String> onLocalCandidatesGenerated = new Signal3<String, Vector<JingleS5BTransportPayload.Candidate>, String>();
public final Signal2<String, JingleS5BTransportPayload.Candidate> onRemoteCandidateSelectFinished = new Signal2<String, JingleS5BTransportPayload.Candidate>();
public final Signal2<String, ErrorPayload> onProxyActivated = new Signal2<String, ErrorPayload>();
}
|