Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.protocol.jabber
Class OperationSetFileTransferJabberImpl

java.lang.Object
  extended by net.java.sip.communicator.impl.protocol.jabber.OperationSetFileTransferJabberImpl
All Implemented Interfaces:
OperationSet, OperationSetFileTransfer

public class OperationSetFileTransferJabberImpl
extends Object
implements OperationSetFileTransfer

The Jabber implementation of the OperationSetFileTransfer interface.

Author:
Gregory Bande, Nicolas Riegel, Yana Stamcheva

Nested Class Summary
protected static class OperationSetFileTransferJabberImpl.FileTransferProgressThread
          Updates file transfer progress and status while sending or receiving a file.
 
Constructor Summary
OperationSetFileTransferJabberImpl(ProtocolProviderServiceJabberImpl provider)
          Constructor
 
Method Summary
 void addFileTransferListener(FileTransferListener listener)
          Adds the given FileTransferListener that would listen for file transfer requests and created file transfers.
(package private)  void fireFileTransferCreated(FileTransferCreatedEvent event)
          Delivers the file transfer to all registered listeners.
(package private)  void fireFileTransferRequest(FileTransferRequestEvent event)
          Delivers the specified event to all registered file transfer listeners.
(package private)  void fireFileTransferRequestRejected(FileTransferRequestEvent event)
          Delivers the specified event to all registered file transfer listeners.
 long getMaximumFileLength()
          Returns the maximum file length supported by the protocol in bytes.
 void removeFileTransferListener(FileTransferListener listener)
          Removes the given FileTransferListener that listens for file transfer requests and created file transfers.
 FileTransfer sendFile(Contact toContact, Contact fromContact, String remotePath, String localPath)
          Sends a file transfer request to the given toContact by specifying the local and remote file path and the fromContact, sending the file.
 FileTransfer sendFile(Contact toContact, File file)
          Sends a file transfer request to the given toContact.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OperationSetFileTransferJabberImpl

public OperationSetFileTransferJabberImpl(ProtocolProviderServiceJabberImpl provider)
Constructor

Parameters:
provider - is the provider that created us
Method Detail

sendFile

public FileTransfer sendFile(Contact toContact,
                             File file)
                      throws IllegalStateException,
                             IllegalArgumentException,
                             OperationNotSupportedException
Sends a file transfer request to the given toContact.

Specified by:
sendFile in interface OperationSetFileTransfer
Parameters:
toContact - the contact that should receive the file
file - file to send
Returns:
the transfer object
Throws:
IllegalStateException - if the protocol provider is not registered or connected
IllegalArgumentException - if some of the arguments doesn't fit the protocol requirements
OperationNotSupportedException - if the given contact client or server does not support file transfers

sendFile

public FileTransfer sendFile(Contact toContact,
                             Contact fromContact,
                             String remotePath,
                             String localPath)
                      throws IllegalStateException,
                             IllegalArgumentException,
                             OperationNotSupportedException
Sends a file transfer request to the given toContact by specifying the local and remote file path and the fromContact, sending the file.

Specified by:
sendFile in interface OperationSetFileTransfer
Parameters:
toContact - the contact that should receive the file
fromContact - the contact sending the file
remotePath - the remote file path
localPath - the local file path
Returns:
the transfer object
Throws:
IllegalStateException - if the protocol provider is not registered or connected
IllegalArgumentException - if some of the arguments doesn't fit the protocol requirements
OperationNotSupportedException - if the given contact client or server does not support file transfers.

addFileTransferListener

public void addFileTransferListener(FileTransferListener listener)
Adds the given FileTransferListener that would listen for file transfer requests and created file transfers.

Specified by:
addFileTransferListener in interface OperationSetFileTransfer
Parameters:
listener - the FileTransferListener to add

removeFileTransferListener

public void removeFileTransferListener(FileTransferListener listener)
Removes the given FileTransferListener that listens for file transfer requests and created file transfers.

Specified by:
removeFileTransferListener in interface OperationSetFileTransfer
Parameters:
listener - the FileTransferListener to remove

getMaximumFileLength

public long getMaximumFileLength()
Returns the maximum file length supported by the protocol in bytes. Supports up to 2GB.

Specified by:
getMaximumFileLength in interface OperationSetFileTransfer
Returns:
the file length that is supported.

fireFileTransferRequest

void fireFileTransferRequest(FileTransferRequestEvent event)
Delivers the specified event to all registered file transfer listeners.

Parameters:
event - the EventObject that we'd like delivered to all registered file transfer listeners.

fireFileTransferRequestRejected

void fireFileTransferRequestRejected(FileTransferRequestEvent event)
Delivers the specified event to all registered file transfer listeners.

Parameters:
event - the EventObject that we'd like delivered to all registered file transfer listeners.

fireFileTransferCreated

void fireFileTransferCreated(FileTransferCreatedEvent event)
Delivers the file transfer to all registered listeners.

Parameters:
event - the FileTransferEvent that we'd like delivered to all registered file transfer listeners.

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.