package games.strategy.triplea.delegate.remote; import games.strategy.engine.data.Territory; import games.strategy.engine.delegate.IDelegate; import games.strategy.engine.message.IRemote; import games.strategy.triplea.delegate.IBattle; import games.strategy.triplea.delegate.IBattle.BattleType; import games.strategy.triplea.delegate.dataObjects.BattleListing; public interface IBattleDelegate extends IRemote, IDelegate { /** * @return The battles currently waiting to be fought. */ BattleListing getBattles(); /** * Fight the battle in the given country. * * @param where * - where to fight * @param bombing * - fight a bombing raid * @return an error string if the battle could not be fought or an error occurred, null otherwise */ String fightBattle(Territory where, boolean bombing, BattleType type); /** * Finish the current battle. * * @return an error string if the battle could not be fought or an error occurred, null otherwise */ String fightCurrentBattle(); /** * @return The location of the currently being fought battle, or null if no battle is in progress. */ Territory getCurrentBattleTerritory(); /** * @return The current battle if there is one, or null if there is no current battle in progress. */ IBattle getCurrentBattle(); }