// Copyright 2000-2003, FreeHEP.
package hep.graphics.heprep.rmi;

import java.io.IOException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.List;

import hep.graphics.heprep.*;

/**
 *
 * @author M.Donszelmann
 *
 * @version $Id: RMIHepRepServer.java,v 1.9 2003/12/02 23:46:43 duns Exp $
 */

public interface RMIHepRepServer extends Remote {
    public static final String cvsId = "$Id: RMIHepRepServer.java,v 1.9 2003/12/02 23:46:43 duns Exp $";

    public List getLayerOrder() throws RemoteException;
    public HepRepTypeTree getTypeTree(String name, String version) throws RemoteException;
    public HepRepInstanceTree getInstanceTreeTop(String name, String version) throws RemoteException;
    public HepRepInstanceTree getInstances(String name, String version, String[] typeNames) throws RemoteException;
    public HepRepInstanceTree getInstancesAfterAction(
                                    String name,
                                    String version,
                                    String[] typeNames,
                                    HepRepAction[] actions,
                                    boolean getPoints,
                                    boolean getDrawAtts,
                                    boolean getNonDrawAtts,
                                    String[] invertAtts) throws RemoteException ;
    public String checkForException() throws RemoteException;
}
