package de.thedevstack.conversationsplus.services.filetransfer.jingle; import de.thedevstack.conversationsplus.entities.Message; import de.thedevstack.conversationsplus.services.FileTransferService; import de.thedevstack.conversationsplus.services.filetransfer.AbstractFileTransferService; import de.thedevstack.conversationsplus.xmpp.jingle.JingleConnection; import de.thedevstack.conversationsplus.xmpp.jingle.JingleConnectionManager; /** * */ public class JingleFileTransferService extends AbstractFileTransferService implements FileTransferService { private final JingleConnectionManager jingleConnectionManager; public JingleFileTransferService() { this.jingleConnectionManager = new JingleConnectionManager(); } /** * Transfers a file for the corresponding message. * * @param message the message containing the file to transfer * @return true if the file transfer was successful, false otherwise */ @Override public boolean transferFile(Message message) { return this.transferFile(message, false); } /** * Transfers a file for the corresponding message. * * @param message the message containing the file to transfer * @param delay whether the message is delayed or not * @return true if the file transfer was successful, false otherwise */ @Override public boolean transferFile(Message message, boolean delay) { JingleConnection jingleConnection = this.jingleConnectionManager.createNewConnection(message); return null != jingleConnection; } /** * Checks whether a message can be sent using this service or not. * * @param message the message to be checked * @return true if the message can be processed, false otherwise */ @Override public boolean accept(Message message) { return message.fixCounterpart(); // No clue why - but this seems to be the check for jingle file transfer } }