package ftp_client;

import java.util.ArrayList;
import java.util.Collection;

// Classe de fonctions statiques pour envoyer des messages au coeur du programme,
// qui seront ensuite affichés dans la fenêtre principale
public class Message {
	
	/* Messaging interface */
	// Interface de message
	public interface MessageListener {
	  void received(String message);
	  void receivedError(String message);
	}	

	// Liste des ecouteurs
	private static final Collection<MessageListener> messageListener	= new ArrayList<MessageListener>();

	// Envoyer un message aux ecouteurs
	public static void send(String message) {
	  for(MessageListener listener : messageListener)
		   listener.received(message);
	}

	// Envoyer un message d'erreur au ecouteurs
	public static void sendError(String message) {
	  for(MessageListener listener : messageListener)
		   listener.receivedError(message);
	}
	
	// Ajouter un ecouteur
	public static void addMessageListener(MessageListener listener) {
	  messageListener.add(listener);
	}

	// Supprimer un ecouteur
	public static void removeMessageListener(MessageListener listener) {
	  messageListener.remove(listener);
	}
}
