blob: 20161b122dd8395494fd803575e3e95e97d7c072 [file] [log] [blame]
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;
}