/* * * Copyright (c) 2000-2009 by Rodney Kinney, Brent Easton * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License (LGPL) as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, copies are available * at http://www.opensource.org. */ package VASSAL.chat; import VASSAL.build.module.ServerConnection; import VASSAL.command.Command; /** * Specialized interface for chat-room server connections * @author rkinney * */ public interface ChatServerConnection extends ServerConnection { /** Property representing the currently-occupied room */ public static final String ROOM = "Room"; //$NON-NLS-1$ /** Property representing the list of all rooms */ public static final String AVAILABLE_ROOMS = "AvailableRooms"; //$NON-NLS-1$ /** Property representing an informational message (e.g. "Connection succeeded")*/ public static final String STATUS = "Status"; //$NON-NLS-1$ /** Property representing the current player's information */ public static final String PLAYER_INFO = "Player"; //$NON-NLS-1$ /** Property representing a message received from the remove server */ public static final String INCOMING_MSG = "Msg"; //$NON-NLS-1$ /** Property representing the StatusServer implementation */ public static final String STATUS_SERVER = "StatusServer"; //$NON-NLS-1$ public static final String DEFAULT_ROOM_NAME = "Main Room"; //$NON-NLS-1$ /** Return the room currently occupied by the player */ Room getRoom(); /** Join the given room */ void setRoom(Room r); /** Return an array of all rooms on the server */ Room[] getAvailableRooms(); /** Return a Player instance representing the current player */ Player getUserInfo(); /** Set the Player instance representing this player */ void setUserInfo(Player p); /** Send a Command to a particular player */ void sendTo(Player recipient, Command c); }