/* This code is part of Freenet. It is distributed under the GNU General * Public License, version 2 (or at your option any later version). See * http://www.gnu.org/ for further details of the GPL. */ package freenet.client.events; import freenet.client.async.ClientContext; /** * Event handling for clients. * * @author oskar */ public interface ClientEventProducer { /** * Sends the event to all registered EventListeners. * @param ce the ClientEvent to raise */ void produceEvent(ClientEvent ce, ClientContext context); /** * Adds an EventListener that will receive all events produced * by the implementing object. * @param cel The ClientEventListener to add. */ void addEventListener(ClientEventListener cel); /** * Removes an EventListener that will no loger receive events * produced by the implementing object. * @param cel The ClientEventListener to remove. * @return true if a Listener was removed, false otherwise. */ boolean removeEventListener(ClientEventListener cel); }