/* Generated by Together */ package multimonster.transporter; import multimonster.common.*; import multimonster.common.Proxy; import multimonster.common.media.*; import multimonster.common.pipe.*; import multimonster.common.plugin.*; import multimonster.common.setting.*; import multimonster.transporter.exceptions.TransporterException; /** * The transporter component. * It manages the dataflow in the system. The transporter takes control * commands from the proxy and does the appropriate operation * (e. g. stop, pause, ...) * * @author J�rg Meier * */ public interface TransporterFacade extends SettingListener, Pluggable { /** * Prepares the system for an output operation with the given * parameters. * * When the call returns the Pipe contains the data requested to read. * * @param mOId * @param fId * @param protocolId * @return * @throws TransporterException */ Pipe output(MOIdentifier mOId, FormatId fId, ProtocolId protocolId) throws TransporterException; /** * Prepares the system for an input operation. * * The caller can write the data in the returned Pipe. * * @param mOId * @param protocolId * @return * @throws TransporterException */ Pipe input(MOIdentifier mOId, ProtocolId protocolId) throws TransporterException; /** * NOT IMPLEMENTED * * @param proxy * @return */ boolean registerProxy(Proxy proxy); /** * NOT IMPLEMENTED * * @param proxy * @return */ boolean releaseProxy(Proxy proxy); }