Skip to content
Snippets Groups Projects
Select Git revision
  • 1ffba79e4df7cbf2b51a4c54b57a89af13e8072b
  • elen90089 default
  • main protected
3 results

bladerf_common.cc

Blame
  • ChatController.java 2.32 KiB
    package server;
    
    import remote.IChatController;
    import remote.IChatUpdate;
    
    import java.io.Serializable;
    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    
    public class ChatController extends UnicastRemoteObject implements IChatController, Serializable
    {
        private Server server;
    
        public ChatController(Server server) throws RemoteException
        {
            this.server = server;
        }
    
        @Override
        public boolean broadcastMessage(String fromClient, String message) throws RemoteException
        {
            System.out.print("Broadcasting message to everyone...");
    
            for( User u : server.users )
            {
                u.getIChatUpdate().notifyChat(fromClient, message, false);
            }
    
            System.out.print("...DONE\n");
    
            return true;
        }
    
        @Override
        public boolean broadcastMessageUserLogin(String fromClient) throws RemoteException {
            System.out.print("Broadcasting message to everyone...");
    
            IChatUpdate client;
    
            for( User u : server.users )
            {
                client = u.getIChatUpdate();
                client.notifyUserLogin(fromClient);
            }
    
            System.out.print("...DONE\n");
            System.out.println(fromClient + " has joined the room.");
    
            return true;
        }
    
        @Override
        public boolean broadcastMessageUserLogout(String fromClient) throws RemoteException {
            System.out.print("Broadcasting message to everyone...");
    
            IChatUpdate client;
    
            for( User u : server.users )
            {
                client = u.getIChatUpdate();
                client.notifyUserLogout(fromClient);
            }
    
            System.out.print("...DONE\n");
            System.out.println(fromClient + " has left the room.");
    
            return true;
        }
    
        @Override
        public boolean sendPrivateMessage(String fromClient, String toClient, String message) throws RemoteException
        {
            int toClientIndex = server.clientController.getUserIndex(toClient);
            int fromClientIndex = server.clientController.getUserIndex(fromClient);
    
            if( toClientIndex >= 0 && fromClientIndex >= 0 )
            {
                server.users.get(toClientIndex).getIChatUpdate().notifyChat(fromClient, message, true);
    
                server.users.get(fromClientIndex).getIChatUpdate().notifyChat(fromClient, message, true);
    
                return true;
            }
    
            return false;
        }
    }