blob: 97d71a5ec9ca39b8d95740290df0c55f915ed28c [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2009, 2020 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.rj.server.srv.engine;
import java.rmi.RemoteException;
import java.util.Map;
import org.eclipse.statet.jcommons.lang.NonNull;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.rj.server.RjsComObject;
import org.eclipse.statet.rj.server.Server;
import org.eclipse.statet.rj.server.srv.RMIServerControl;
import org.eclipse.statet.rj.server.srvext.Client;
@NonNullByDefault
public interface SrvEngine {
void init(RMIServerControl control, Server publicServer, Map<String, ? extends @NonNull Object> more) throws Exception;
int[] getVersion();
int getState();
Client getCurrentClient();
Map<String, Object> getPlatformData();
Object start(Client client, Map<String, ? extends @NonNull Object> properties) throws RemoteException;
Object connect(Client client, Map<String, ? extends @NonNull Object> properties) throws RemoteException;
void disconnect(Client client) throws RemoteException;
void setProperties(Client client, Map<String, ? extends @NonNull Object> properties) throws RemoteException;
RjsComObject runMainLoop(Client client, RjsComObject com) throws RemoteException;
RjsComObject runAsync(Client client, RjsComObject com) throws RemoteException;
}