package de.thedevstack.conversationsplus.services;
import de.thedevstack.conversationsplus.entities.Account;
import de.thedevstack.conversationsplus.entities.Message;
import de.thedevstack.conversationsplus.entities.Transferable;
/**
*
*/
public interface FileTransferService {
/**
* 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
*/
boolean transferFile(Message message);
/**
* 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
*/
boolean transferFile(Message message, boolean delay);
/**
* 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
*/
boolean accept(Message message);
}