package com.faforever.client.notification; import javafx.collections.SetChangeListener; import java.util.Set; public interface NotificationService { /** * Adds a {@link PersistentNotification} to be displayed. */ void addNotification(PersistentNotification notification); /** * Adds a {@link TransientNotification} to be displayed. */ void addNotification(TransientNotification notification); void addNotification(ImmediateNotification notification); /** * Adds a listener to be notified about added/removed {@link PersistentNotification}s */ void addPersistentNotificationListener(SetChangeListener<PersistentNotification> listener); /** * Adds a listener to be notified whenever a {@link TransientNotification} has been fired. */ void addTransientNotificationListener(OnTransientNotificationListener listener); Set<PersistentNotification> getPersistentNotifications(); void removeNotification(PersistentNotification notification); void addImmediateNotificationListener(OnImmediateNotificationListener listener); }