Search in sources :

Example 1 with IIMMessageListener

use of org.eclipse.ecf.presence.IIMMessageListener in project ecf by eclipse.

the class IRCAbstractContainer method fireChatRoomMessageEvent.

public void fireChatRoomMessageEvent(ID sender, String msg) {
    for (Iterator i = msgListeners.iterator(); i.hasNext(); ) {
        IIMMessageListener l = (IIMMessageListener) i.next();
        l.handleMessageEvent(new ChatRoomMessageEvent(sender, new ChatRoomMessage(sender, targetID, msg)));
    }
}
Also used : IIMMessageListener(org.eclipse.ecf.presence.IIMMessageListener)

Example 2 with IIMMessageListener

use of org.eclipse.ecf.presence.IIMMessageListener in project ecf by eclipse.

the class XMPPChatClient method setupPresence.

public void setupPresence() throws ECFException {
    if (presence == null) {
        presence = (IPresenceContainerAdapter) container.getAdapter(IPresenceContainerAdapter.class);
        if (presence == null)
            throw new ECFException("adapter is null");
        sender = presence.getChatManager().getChatMessageSender();
        presence.getChatManager().addMessageListener(new IIMMessageListener() {

            public void handleMessageEvent(IIMMessageEvent messageEvent) {
                if (messageEvent instanceof IChatMessageEvent) {
                    IChatMessage m = ((IChatMessageEvent) messageEvent).getChatMessage();
                    if (receiver != null) {
                        receiver.handleMessage(m);
                    }
                }
            }
        });
        if (presenceListener != null) {
            presence.getRosterManager().addPresenceListener(presenceListener);
        }
    }
}
Also used : IIMMessageListener(org.eclipse.ecf.presence.IIMMessageListener) ECFException(org.eclipse.ecf.core.util.ECFException) IChatMessage(org.eclipse.ecf.presence.im.IChatMessage) IChatMessageEvent(org.eclipse.ecf.presence.im.IChatMessageEvent) IIMMessageEvent(org.eclipse.ecf.presence.IIMMessageEvent)

Example 3 with IIMMessageListener

use of org.eclipse.ecf.presence.IIMMessageListener in project ecf by eclipse.

the class XMPPChatRoomContainerHelper method fireMessageListeners.

protected void fireMessageListeners(ID from, String body) {
    List toNotify = null;
    synchronized (messageListeners) {
        toNotify = new ArrayList(messageListeners);
    }
    for (final Iterator i = toNotify.iterator(); i.hasNext(); ) {
        final IIMMessageListener l = (IIMMessageListener) i.next();
        l.handleMessageEvent(new ChatRoomMessageEvent(from, new ChatRoomMessage(from, roomID, body)));
    }
}
Also used : IIMMessageListener(org.eclipse.ecf.presence.IIMMessageListener)

Example 4 with IIMMessageListener

use of org.eclipse.ecf.presence.IIMMessageListener in project ecf by eclipse.

the class ChatRoomManagerUI method setupNewView.

private void setupNewView() throws Exception {
    IChatRoomInfo roomInfo = manager.getChatRoomInfo(null);
    Assert.isNotNull(roomInfo, Messages.ChatRoomManagerUI_EXCEPTION_NO_ROOT_CHAT_ROOM_MANAGER);
    final IChatRoomContainer managerChatRoom = roomInfo.createChatRoomContainer();
    chatroomview.initializeWithManager(ChatRoomManagerView.getUsernameFromID(targetID), ChatRoomManagerView.getHostnameFromID(targetID), managerChatRoom, this, createChatRoomViewCloseListener());
    chatroomview.setMessageRenderer(getDefaultMessageRenderer());
    // Add listener for container, so that if the container is spontaneously
    // disconnected,
    // then we will be able to have the UI respond by making itself inactive
    container.addListener(new IContainerListener() {

        public void handleEvent(final IContainerEvent evt) {
            Display.getDefault().syncExec(new Runnable() {

                public void run() {
                    if (evt instanceof IContainerDisconnectedEvent || evt instanceof IContainerEjectedEvent) {
                        final ID departedContainerID = ((evt instanceof IContainerDisconnectedEvent) ? ((IContainerDisconnectedEvent) evt).getTargetID() : ((IContainerEjectedEvent) evt).getTargetID());
                        ID connectedID = targetID;
                        if (connectedID == null || connectedID.equals(departedContainerID)) {
                            chatroomview.disconnected();
                            isContainerConnected = false;
                        }
                    } else if (evt instanceof IContainerConnectedEvent) {
                        isContainerConnected = true;
                        chatroomview.setEnabled(true);
                        String[] roomsForTarget = getRoomsForTarget();
                        for (int i = 0; i < roomsForTarget.length; i++) {
                            IChatRoomInfo info = manager.getChatRoomInfo(roomsForTarget[i]);
                            chatroomview.joinRoom(info, getPasswordForChatRoomConnect(info));
                        }
                    }
                }
            });
        }
    });
    // Add listeners so that the new chat room gets
    // asynch notifications of various relevant chat room events
    managerChatRoom.addMessageListener(new IIMMessageListener() {

        public void handleMessageEvent(IIMMessageEvent messageEvent) {
            if (messageEvent instanceof IChatRoomMessageEvent) {
                IChatRoomMessage m = ((IChatRoomMessageEvent) messageEvent).getChatRoomMessage();
                chatroomview.handleMessage(m.getFromID(), m.getMessage());
            } else if (messageEvent instanceof IChatMessageEvent) {
                final IChatMessage chatMessage = ((IChatMessageEvent) messageEvent).getChatMessage();
                chatroomview.handleChatMessage(chatMessage);
            }
        }
    });
}
Also used : IContainerListener(org.eclipse.ecf.core.IContainerListener) IChatMessageEvent(org.eclipse.ecf.presence.im.IChatMessageEvent) IIMMessageEvent(org.eclipse.ecf.presence.IIMMessageEvent) IIMMessageListener(org.eclipse.ecf.presence.IIMMessageListener) IChatMessage(org.eclipse.ecf.presence.im.IChatMessage) ID(org.eclipse.ecf.core.identity.ID)

Example 5 with IIMMessageListener

use of org.eclipse.ecf.presence.IIMMessageListener in project ecf by eclipse.

the class XMPPChatRoomClient method setupPresenceAdapter.

protected void setupPresenceAdapter() {
    // Get presence adapter off of container
    presence = (IPresenceContainerAdapter) container.getAdapter(IPresenceContainerAdapter.class);
    // Get sender interface
    sender = presence.getChatManager().getChatMessageSender();
    // Setup message requestListener to handle incoming messages
    presence.getChatManager().addMessageListener(new IIMMessageListener() {

        public void handleMessageEvent(IIMMessageEvent messageEvent) {
            if (messageEvent instanceof IChatMessageEvent) {
                final IChatMessage m = ((IChatMessageEvent) messageEvent).getChatMessage();
                receiver.handleMessage(m);
            }
        }
    });
}
Also used : IIMMessageListener(org.eclipse.ecf.presence.IIMMessageListener) IChatMessage(org.eclipse.ecf.presence.im.IChatMessage) IChatMessageEvent(org.eclipse.ecf.presence.im.IChatMessageEvent) IIMMessageEvent(org.eclipse.ecf.presence.IIMMessageEvent)

Aggregations

IIMMessageListener (org.eclipse.ecf.presence.IIMMessageListener)9 IIMMessageEvent (org.eclipse.ecf.presence.IIMMessageEvent)5 IChatMessageEvent (org.eclipse.ecf.presence.im.IChatMessageEvent)5 IChatMessage (org.eclipse.ecf.presence.im.IChatMessage)3 IContainerListener (org.eclipse.ecf.core.IContainerListener)2 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 Properties (java.util.Properties)1 IContainerConnectedEvent (org.eclipse.ecf.core.events.IContainerConnectedEvent)1 IContainerEvent (org.eclipse.ecf.core.events.IContainerEvent)1 ID (org.eclipse.ecf.core.identity.ID)1 IDCreateException (org.eclipse.ecf.core.identity.IDCreateException)1 ECFException (org.eclipse.ecf.core.util.ECFException)1 IPresenceContainerAdapter (org.eclipse.ecf.presence.IPresenceContainerAdapter)1 IChatRoomContainer (org.eclipse.ecf.presence.chatroom.IChatRoomContainer)1 ChatMessage (org.eclipse.ecf.presence.im.ChatMessage)1 ChatMessageEvent (org.eclipse.ecf.presence.im.ChatMessageEvent)1 IChatManager (org.eclipse.ecf.presence.im.IChatManager)1