/*
 * 
 */
package cz.vutbr.feec.session.feedback;

import oldPackets.LMSPacket;
import oldPackets.LMVPacket;
import cz.vutbr.feec.packets.ttp.FTDPacket;
import cz.vutbr.feec.packets.ttp.FTIPacket;
import cz.vutbr.feec.packets.ttp.FTSPacket;

/**
 * The listener interface for receiving send/receive events.
 * The class that is interested in processing a event
 * event implements this interface, and the object created
 * with that class is registered with a component using the
 * component's <code>addEventListener<code> method. When
 * the event event occurs, that object's appropriate
 * method is invoked.
 * 
 * @see EventEvent
 */
public interface EventListener {
	
	/**
	 * Received the FTA packet.
	 * 
	 * @param packet the packet
	 */
	public void received(FTDPacket packet);

	/**
	 * Sent the FTA packet.
	 * 
	 * @param packet the packet
	 */
	public void sent(FTDPacket packet);

	/**
	 * Received the FT packet.
	 * 
	 * @param packet the packet
	 */
	public void received(FTIPacket packet);

	/**
	 * Sent the FTC packet.
	 * 
	 * @param packet the packet
	 */
	public void sent(FTIPacket packet);

	/**
	 * Received the LMS packet.
	 * 
	 * @param packet the packet
	 */
	public void received(LMSPacket packet);

	/**
	 * Sent the LMS packet.
	 * 
	 * @param packet the packet
	 */
	public void sent(LMSPacket packet);

	/**
	 * Received the LMV packet.
	 * 
	 * @param packet the packet
	 */
	public void received(LMVPacket packet);

	/**
	 * Sent the LMV packet.
	 * 
	 * @param packet the packet
	 */
	public void sent(LMVPacket packet);

	/**
	 * Received the FTS packet.
	 * 
	 * @param packet the packet
	 */
	public void received(FTSPacket packet);

	/**
	 * Sent FTS packet.
	 * 
	 * @param packet the packet
	 */
	public void sent(FTSPacket packet);

}
