Search in sources :

Example 1 with MessageEvent

use of org.jivesoftware.smackx.packet.MessageEvent in project ecf by eclipse.

the class MessageEventManager method sendDeliveredNotification.

/**
 * Sends the notification that the message was delivered to the sender of the original message
 *
 * @param to the recipient of the notification.
 * @param packetID the id of the message to send.
 */
public void sendDeliveredNotification(String to, String packetID) {
    // Create the message to send
    Message msg = new Message(to);
    // Create a MessageEvent Package and add it to the message
    MessageEvent messageEvent = new MessageEvent();
    messageEvent.setDelivered(true);
    messageEvent.setPacketID(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    con.sendPacket(msg);
}
Also used : Message(org.jivesoftware.smack.packet.Message) MessageEvent(org.jivesoftware.smackx.packet.MessageEvent)

Example 2 with MessageEvent

use of org.jivesoftware.smackx.packet.MessageEvent in project ecf by eclipse.

the class MessageEventManager method addNotificationsRequests.

/**
 * Adds event notification requests to a message. For each event type that
 * the user wishes event notifications from the message recepient for, <tt>true</tt>
 * should be passed in to this method.
 *
 * @param message the message to add the requested notifications.
 * @param offline specifies if the offline event is requested.
 * @param delivered specifies if the delivered event is requested.
 * @param displayed specifies if the displayed event is requested.
 * @param composing specifies if the composing event is requested.
 */
public static void addNotificationsRequests(Message message, boolean offline, boolean delivered, boolean displayed, boolean composing) {
    // Create a MessageEvent Package and add it to the message
    MessageEvent messageEvent = new MessageEvent();
    messageEvent.setOffline(offline);
    messageEvent.setDelivered(delivered);
    messageEvent.setDisplayed(displayed);
    messageEvent.setComposing(composing);
    message.addExtension(messageEvent);
}
Also used : MessageEvent(org.jivesoftware.smackx.packet.MessageEvent)

Example 3 with MessageEvent

use of org.jivesoftware.smackx.packet.MessageEvent in project ecf by eclipse.

the class MessageEventManager method sendDisplayedNotification.

/**
 * Sends the notification that the message was displayed to the sender of the original message
 *
 * @param to the recipient of the notification.
 * @param packetID the id of the message to send.
 */
public void sendDisplayedNotification(String to, String packetID) {
    // Create the message to send
    Message msg = new Message(to);
    // Create a MessageEvent Package and add it to the message
    MessageEvent messageEvent = new MessageEvent();
    messageEvent.setDisplayed(true);
    messageEvent.setPacketID(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    con.sendPacket(msg);
}
Also used : Message(org.jivesoftware.smack.packet.Message) MessageEvent(org.jivesoftware.smackx.packet.MessageEvent)

Example 4 with MessageEvent

use of org.jivesoftware.smackx.packet.MessageEvent in project ecf by eclipse.

the class MessageEventManager method sendComposingNotification.

/**
 * Sends the notification that the receiver of the message is composing a reply
 *
 * @param to the recipient of the notification.
 * @param packetID the id of the message to send.
 */
public void sendComposingNotification(String to, String packetID) {
    // Create the message to send
    Message msg = new Message(to);
    // Create a MessageEvent Package and add it to the message
    MessageEvent messageEvent = new MessageEvent();
    messageEvent.setComposing(true);
    messageEvent.setPacketID(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    con.sendPacket(msg);
}
Also used : Message(org.jivesoftware.smack.packet.Message) MessageEvent(org.jivesoftware.smackx.packet.MessageEvent)

Example 5 with MessageEvent

use of org.jivesoftware.smackx.packet.MessageEvent in project ecf by eclipse.

the class MessageEventManager method init.

private void init() {
    // Listens for all message event packets and fire the proper message event listeners.
    packetListener = new PacketListener() {

        public void processPacket(Packet packet) {
            Message message = (Message) packet;
            MessageEvent messageEvent = (MessageEvent) message.getExtension("x", "jabber:x:event");
            if (messageEvent.isMessageEventRequest()) {
                // Fire event for requests of message events
                for (Iterator<String> it = messageEvent.getEventTypes(); it.hasNext(); ) fireMessageEventRequestListeners(message.getFrom(), message.getPacketID(), it.next().concat("NotificationRequested"));
            } else
                // Fire event for notifications of message events
                for (Iterator<String> it = messageEvent.getEventTypes(); it.hasNext(); ) fireMessageEventNotificationListeners(message.getFrom(), messageEvent.getPacketID(), it.next().concat("Notification"));
        }
    };
    con.addPacketListener(packetListener, packetFilter);
}
Also used : Packet(org.jivesoftware.smack.packet.Packet) Message(org.jivesoftware.smack.packet.Message) MessageEvent(org.jivesoftware.smackx.packet.MessageEvent) Iterator(java.util.Iterator) PacketListener(org.jivesoftware.smack.PacketListener)

Aggregations

MessageEvent (org.jivesoftware.smackx.packet.MessageEvent)7 Message (org.jivesoftware.smack.packet.Message)5 Iterator (java.util.Iterator)1 PacketListener (org.jivesoftware.smack.PacketListener)1 Packet (org.jivesoftware.smack.packet.Packet)1