Package org.opentcs.access.rmi.services

# Interface RemoteKernelServicePortal

All Superinterfaces:
  `java.rmi.Remote`

    public interface RemoteKernelServicePortal
    extends java.rmi.Remote

Declares the methods provided by the `KernelServicePortal` via RMI.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.util.List<java.lang.Object>` | `fetchEvents​(ClientID clientId, long timeout)` |
  `Kernel.State` | `getState​(ClientID clientId)` |
  `ClientID` | `login​(java.lang.String userName, java.lang.String password, java.util.function.Predicate<java.lang.Object> eventFilter)` | Introduce the calling client to the server and authenticate for operations.
  `void` | `logout​(ClientID clientId)` |
  `void` | `publishEvent​(ClientID clientId, java.lang.Object event)` |

- ## Method Details

  - ### login

    ClientID login​(java.lang.String userName, java.lang.String password, java.util.function.Predicate<java.lang.Object> eventFilter) throws CredentialsException, java.rmi.RemoteException
    Introduce the calling client to the server and authenticate for operations.
    Parameters:
      `userName` - The user's name.
      `password` - The user's password.
      `eventFilter` - The event filter to be applied to events on the server side.
    Returns:
      An identification object that is required for subsequent method calls.
    Throws:
      `CredentialsException` - If authentication with the given username and password failed.
      `java.rmi.RemoteException` - If there was an RMI-related problem.

  - ### logout

    void logout​(ClientID clientId) throws java.rmi.RemoteException
    Throws:
      `java.rmi.RemoteException`

  - ### getState

    Kernel.State getState​(ClientID clientId) throws java.rmi.RemoteException
    Throws:
      `java.rmi.RemoteException`

  - ### fetchEvents

    java.util.List<java.lang.Object> fetchEvents​(ClientID clientId, long timeout) throws java.rmi.RemoteException
    Throws:
      `java.rmi.RemoteException`

  - ### publishEvent

    void publishEvent​(ClientID clientId, java.lang.Object event) throws java.rmi.RemoteException
    Throws:
      `java.rmi.RemoteException`