| package com.intellij.openapi.externalSystem.service.notification; |
| |
| import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; |
| import org.jetbrains.annotations.NotNull; |
| import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId; |
| |
| /** |
| * @author Denis Zhdanov |
| * @since 11/10/11 12:04 PM |
| */ |
| public interface ExternalSystemProgressNotificationManager { |
| |
| /** |
| * Allows to register given listener to listen events from all tasks. |
| * |
| * @param listener listener to register |
| * @return <code>true</code> if given listener was not registered before for the given key; |
| * <code>false</code> otherwise |
| */ |
| boolean addNotificationListener(@NotNull ExternalSystemTaskNotificationListener listener); |
| |
| /** |
| * Allows to register given listener within the current manager for listening events from the task with the target id. |
| * |
| * @param taskId target task's id |
| * @param listener listener to register |
| * @return <code>true</code> if given listener was not registered before for the given key; |
| * <code>false</code> otherwise |
| */ |
| boolean addNotificationListener(@NotNull ExternalSystemTaskId taskId, @NotNull ExternalSystemTaskNotificationListener listener); |
| |
| /** |
| * Allows to de-register given listener from the current manager |
| * |
| * @param listener listener to de-register |
| * @return <code>true</code> if given listener was successfully de-registered; |
| * <code>false</code> if given listener was not registered before |
| */ |
| boolean removeNotificationListener(@NotNull ExternalSystemTaskNotificationListener listener); |
| } |