package games.strategy.engine.framework.startup.mc;
import java.util.Set;
import games.strategy.engine.framework.message.PlayerListing;
import games.strategy.engine.framework.ui.SaveGameFileChooser;
import games.strategy.engine.message.IRemote;
import games.strategy.net.INode;
public interface IServerStartupRemote extends IRemote {
/**
* @return a listing of the players in the game.
*/
PlayerListing getPlayerListing();
void takePlayer(INode who, String playerName);
void releasePlayer(INode who, String playerName);
void disablePlayer(String playerName);
void enablePlayer(String playerName);
/**
* Has the game already started?
* If true, the server will call our ObserverWaitingToJoin to start the game.
* Note, the return value may come back after our ObserverWaitingToJoin has been created
*/
boolean isGameStarted(INode newNode);
boolean getIsServerHeadless();
Set<String> getAvailableGames();
void changeServerGameTo(final String gameName);
void changeToLatestAutosave(final SaveGameFileChooser.AUTOSAVE_TYPE typeOfAutosave);
void changeToGameSave(final byte[] bytes, final String fileName);
byte[] getSaveGame();
byte[] getGameOptions();
void changeToGameOptions(final byte[] bytes);
}