// $Id: ServerRMItoClientIface.java,v 3.3 1998/12/09 20:07:23 mk2z Exp $
////////////////////////////////////////////////////////////////////////////
//
// File: ServerRMItoClientIface.java
//
// Purpose: This file defines the interface that ServerRMI will
// export to its RegistryServer, and then passed to
// whichever client wants to invoke the ServerRMI's
// methods remotely.
//
// Authors:
// Orim Miro Kresonja mk2z@virginia.edu
// rgb Rob Bartholet
//
// Modifications:
// 02-NOV-1998 Orim Initial creation
// 06-NOV-1998 rgb Added version control header info
// 15-NOV-1998 Orim Initial modifications for version 3.0
//
////////////////////////////////////////////////////////////////////////////
import java.rmi.*;
public interface ServerRMItoClientIface
extends java.rmi.Remote
{
///////////////////////////////////////////////////////////////////
//
// ConnectClient - This is a stub for the ServerRMI's ConnectClient
// method. The clients will ask for an initial map, so they can
// decide which module they want.
//
///////////////////////////////////////////////////////////////////
Map ConnectClient ()
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// RegisterClient - This is a stub for the ServerRMI's RegisterClient
// method. The Clients will politely ask whether they can have a
// specific module number, and will be told their password.
//
///////////////////////////////////////////////////////////////////
int RegisterClient (int module_num, ClientRMIIface obj)
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// ReceiveModule - This is a stub for the ServerRMI's ReceiveModule
// method. Each time a client is done modifying its module, they
// will pass it back to the server using this method.
//
///////////////////////////////////////////////////////////////////
void ReceiveModule (Module m, int client_id)
throws RemoteException, Exception;
///////////////////////////////////////////////////////////////////
//
// ClientQuit - This is a stub for the ServerRMI's ClientQuit
// method. The client is shutting down, and is notifying the server.
//
///////////////////////////////////////////////////////////////////
void ClientQuit (int client_id, int password)
throws RemoteException, Exception;
}
////////////////////////////////////////////////////////////////////////////