| Hi Pierre, Remy and all. 
 I've checked in a revised version of the filetransfer API (In
org.eclipse.ecf.fileshare plugin in org.eclipse.ecf.filetransfer
package).
 
 Please see here for javadocs:
 
 http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/filetransfer/package-summary.html
 
 And here's a little message sequence description for a) A sending file
to B; b) A retrieving a remote file
 
 Thanksinadvance,
 
 Scott
 
 For A to request *sending* a file to B
 
 0) B has to have previously called
IFileTransferContainer.addIncomingFileTransferRequestListener(listener)
so that it is ready for incoming file transfer requests
 1) A calls
IFileTransferContainer.requestOutgoingFileTransfer(B,localFile,listener). 
This results in A sending a request message to B.
 2) B's listener receives an IFileTransferRequestEvent.  B now has a
choice
 a) B can call accept(File) on the IFileTransferRequestEvent.  This
results in a response message being sent back to A.  The
IIncomingFileTransfer may be inspected by B for progress status
 b) B can call reject() on the IFileTransferRequestEvent.  This
results in a response message being sent back to A.
 3) A's listener receives a IOutgoingFileTransferResponseEvent.  The
methods on this event type allow A to determine whether B accepted
 or rejected (by calling
IOutgoingFileTransferResponseEvent.requestAccepted).  If the request
was accepted then the file transfer will begin immediately and the
IOutgoingFileTransfer object (obtained via
IOutgoingFileTransferResponseEvent.getSource()) may be inspected by the
sender for progress status, etc.  If the request was rejected then the
IOutgoingFileTransfer object may be inspected for
IOutgoingFileTransfer.getException()-provided details about the
rejection.
 4) Both A and B may receive instances of
IOutgoingFileTransferSendData/IIncomingFileTransferReceiveData events
(respectively) as file data is delivered from A (localFileToSend) to B
(localFileToSave).  These events may not be delivered if protocol does
not support such notifications
 5) A will receive IOutgoingFileTransferSendCompleteEvent and B will
receive IIncomingFileTransferReceiveCompleteEvent.  At this point the
file is either successfully sent/received or there was an exception and
 
 For A to request *retrieving* a file *from* B
 
 1) A calls IFileTransferContainer.requestRetrieveFileTransfer. 
Depending upon provider protocol, this could/will result in A sending a
request message to B (or multiple B's) to retrieve file identified by
URI
 2) A's listener receives an IIncomingFileTransferReceiveStart event.  A
can then call receive(localFileToSave) to store the received data in
the given local file.
 3) Depending upon protocol A may receive
IIncomingFileTransferReceiveData events as data is received
 4) A will receive IIncomingFileTransferReceiveComplete Event indicating
successful or unsuccessful file transfer
 
 
 
 Pierre-Henry Perret wrote:
 Scott,
 I dont see the IIncomingFileTransferListener and
IOutgoingFileTransferCreateEvent
 IIncomingFileTransferListener in the XMPP provider container
implementation.
 
 
 
 --
 Pierre-Henry Perret
 Eclipse ECF committer
 
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev
 
 |