public abstract class StreamNegotiator extends Object
Constructor and Description |
---|
StreamNegotiator() |
Modifier and Type | Method and Description |
---|---|
abstract void |
cleanup()
Cleanup any and all resources associated with this negotiator.
|
IQ |
createError(String from,
String to,
String packetID,
XMPPError xmppError) |
abstract InputStream |
createIncomingStream(StreamInitiation initiation)
This method handles the file stream download negotiation process.
|
StreamInitiation |
createInitiationAccept(StreamInitiation streamInitiationOffer,
String[] namespaces)
Creates the initiation acceptance packet to forward to the stream
initiator.
|
abstract OutputStream |
createOutgoingStream(String streamID,
String initiator,
String target)
This method handles the file upload stream negotiation process.
|
abstract PacketFilter |
getInitiationPacketFilter(String from,
String streamID)
Returns the packet filter that will return the initiation packet for the appropriate stream
initiation.
|
abstract String[] |
getNamespaces()
Returns the XMPP namespace reserved for this particular type of file
transfer.
|
public StreamNegotiator()
public StreamInitiation createInitiationAccept(StreamInitiation streamInitiationOffer, String[] namespaces)
streamInitiationOffer
- The offer from the stream initiator to connect for a stream.namespaces
- The namespace that relates to the accepted means of transfer.public abstract PacketFilter getInitiationPacketFilter(String from, String streamID)
from
- The initiator of the file transfer.streamID
- The stream ID related to the transfer.public abstract InputStream createIncomingStream(StreamInitiation initiation) throws XMPPException.XMPPErrorException, InterruptedException, SmackException.NoResponseException, SmackException
initiation
- The initiation that triggered this download.XMPPException.XMPPErrorException
- If an error occurs during this process an XMPPException is
thrown.InterruptedException
- If thread is interrupted.SmackException
SmackException.NoResponseException
public abstract OutputStream createOutgoingStream(String streamID, String initiator, String target) throws XMPPException.XMPPErrorException, SmackException.NoResponseException, SmackException, XMPPException
streamID
- The streamID that uniquely identifies the file transfer.initiator
- The fully-qualified JID of the initiator of the file transfer.target
- The fully-qualified JID of the target or receiver of the file
transfer.XMPPException.XMPPErrorException
- If an error occurs during the negotiation process an
exception will be thrown.SmackException
XMPPException
SmackException.NoResponseException
public abstract String[] getNamespaces()
public abstract void cleanup()