package games.strategy.engine.lobby.client; import games.strategy.debug.HeartBeat; import games.strategy.engine.lobby.server.IModeratorController; import games.strategy.engine.lobby.server.ModeratorController; import games.strategy.engine.message.IChannelMessenger; import games.strategy.engine.message.IRemoteMessenger; import games.strategy.net.IMessenger; import games.strategy.net.Messengers; public class LobbyClient { private final Messengers m_messengers; private final boolean m_isAnonymousLogin; private Boolean isAdmin; public LobbyClient(final IMessenger messenger, final boolean anonymousLogin) { m_messengers = new Messengers(messenger); m_isAnonymousLogin = anonymousLogin; // add a heart beat server, to allow the server to ping us // we only respond to the server final HeartBeat heartBeatServer = new HeartBeat(m_messengers.getMessenger().getServerNode()); m_messengers.getRemoteMessenger().registerRemote(heartBeatServer, HeartBeat.getHeartBeatName(m_messengers.getMessenger().getLocalNode())); // final RemoteHostUtils remoteHostUtilsServer = new RemoteHostUtils(m_messengers.getMessenger().getServerNode(), // null); // m_messengers.getRemoteMessenger().registerRemote(remoteHostUtilsServer, // RemoteHostUtils.getRemoteHostUtilsName(m_messengers.getMessenger().getLocalNode())); } public boolean isAdmin() { if (isAdmin == null) { final IModeratorController controller = (IModeratorController) m_messengers.getRemoteMessenger() .getRemote(ModeratorController.getModeratorControllerName()); isAdmin = controller.isAdmin(); } return isAdmin; } public boolean isAnonymousLogin() { return m_isAnonymousLogin; } public IChannelMessenger getChannelMessenger() { return m_messengers.getChannelMessenger(); } public IMessenger getMessenger() { return m_messengers.getMessenger(); } public IRemoteMessenger getRemoteMessenger() { return m_messengers.getRemoteMessenger(); } public Messengers getMessengers() { return m_messengers; } }