49 lines
1.6 KiB
Java
49 lines
1.6 KiB
Java
/**
|
|
* <p>Title: Lab2</p>
|
|
* <p>Description: Simple Chat System </p>
|
|
* <p>Copyright: Copyright (c) 2007</p>
|
|
* <p>Company: Grand Vally State University</p>
|
|
* @author Jonathan Engelsma
|
|
* @version 2.0
|
|
*/
|
|
import java.rmi.Remote;
|
|
import java.rmi.RemoteException;
|
|
|
|
/**
|
|
* The abstract interface that is to implemented by a remote
|
|
* presence server. ChatClients will use this interface to
|
|
* register themselves with the presence server, and also to
|
|
* determine and locate other users who are available for chat
|
|
* sessions.
|
|
*/
|
|
public interface PresenceService extends Remote {
|
|
|
|
/**
|
|
* Register a client with the presence service.
|
|
* @param reg The information that is to be registered about a client.
|
|
*/
|
|
void register(RegistrationInfo reg) throws RemoteException;
|
|
|
|
/**
|
|
* Unregister a client from the presence service. Client must call this
|
|
* method when it terminates execution.
|
|
* @param userName The name of the user to be unregistered.
|
|
*/
|
|
void unregister(String userName) throws RemoteException;
|
|
|
|
/**
|
|
* Lookup the registration information of another client.
|
|
* @name The name of the client that is to be located.
|
|
* @return The RegistrationInfo info for the client, or null if
|
|
* no such client was found.
|
|
*/
|
|
RegistrationInfo lookup(String name) throws RemoteException;
|
|
|
|
/**
|
|
* Determine all users who are currently registered in the system.
|
|
* @return An array of RegistrationInfo objects - one for each client
|
|
* present in the system.
|
|
*/
|
|
RegistrationInfo[] listRegisteredUsers() throws RemoteException;
|
|
}
|