| package com.intellij.openapi.externalSystem.service; |
| |
| import com.intellij.openapi.externalSystem.service.internal.ExternalSystemTaskAware; |
| import com.intellij.openapi.externalSystem.model.settings.ExternalSystemExecutionSettings; |
| import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; |
| import org.jetbrains.annotations.NotNull; |
| |
| import java.rmi.Remote; |
| import java.rmi.RemoteException; |
| |
| /** |
| * Generic interface with common functionality for all remote services that work with external system. |
| * |
| * @author Denis Zhdanov |
| * @since 8/9/11 3:19 PM |
| */ |
| public interface RemoteExternalSystemService<S extends ExternalSystemExecutionSettings> extends Remote, ExternalSystemTaskAware { |
| |
| /** |
| * Provides the service settings to use. |
| * |
| * @param settings settings to use |
| * @throws RemoteException as required by RMI |
| */ |
| void setSettings(@NotNull S settings) throws RemoteException; |
| |
| /** |
| * Allows to define notification callback to use within the current service |
| * |
| * @param notificationListener notification listener to use with the current service |
| * @throws RemoteException as required by RMI |
| */ |
| void setNotificationListener(@NotNull ExternalSystemTaskNotificationListener notificationListener) throws RemoteException; |
| } |