/* IMPORTS */
// NONE

interface ServerListener
{
    /* Sends the message to the specified server. */
    public void send(int server_ID, Message msg);
    
    /* Sends the message to every server. */
    public void send(int room_ID, String msg);
    
    /* Handles the given message. */
    /* (i.e. sends the message to the attached RoomListener) */
    public void handle(Message msg);
    
    /* Handles the given command. */
    public void handle(String cmd);
    
    /* Adds a RoomListener to take care of arriving messages. */
    public void addRoomListener(RoomListener listener);
    
    /* Remove the specified RoomrListener. */
    public void removeRoomListener(RoomListener listener);
    
    /* Prints the current of the ServerListener status to System.out. */
    public void status();
    
    /* Cleans up all internal lists and disconnects all inactive clients. */
    public void cleanup();    
} // class ServerListener
