Java 类org.jivesoftware.smackx.xevent.packet.MessageEvent 实例源码

项目:Smack    文件:MessageEventManager.java   
/**
 * 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);
}
项目:Smack    文件:MessageEventManager.java   
/**
 * 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.
 * @throws NotConnectedException 
 */
public void sendDeliveredNotification(String to, String packetID) throws NotConnectedException {
    // 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.setStanzaId(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    connection().sendStanza(msg);
}
项目:Smack    文件:MessageEventManager.java   
/**
 * 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.
 * @throws NotConnectedException 
 */
public void sendDisplayedNotification(String to, String packetID) throws NotConnectedException {
    // 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.setStanzaId(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    connection().sendStanza(msg);
}
项目:Smack    文件:MessageEventManager.java   
/**
 * 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.
 * @throws NotConnectedException 
 */
public void sendComposingNotification(String to, String packetID) throws NotConnectedException {
    // 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.setStanzaId(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    connection().sendStanza(msg);
}
项目:Smack    文件:MessageEventManager.java   
/**
 * Sends the notification that the receiver of the message has cancelled composing a reply.
 * 
 * @param to the recipient of the notification.
 * @param packetID the id of the message to send.
 * @throws NotConnectedException 
 */
public void sendCancelledNotification(String to, String packetID) throws NotConnectedException {
    // 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.setCancelled(true);
    messageEvent.setStanzaId(packetID);
    msg.addExtension(messageEvent);
    // Send the packet
    connection().sendStanza(msg);
}
项目:Smack    文件:MessageEventProvider.java   
/**
 * Parses a MessageEvent stanza(/packet) (extension sub-packet).
 *
 * @param parser the XML parser, positioned at the starting element of the extension.
 * @return a PacketExtension.
 * @throws IOException 
 * @throws XmlPullParserException 
 */
@Override
public MessageEvent parse(XmlPullParser parser, int initialDepth)
                throws XmlPullParserException, IOException {
    MessageEvent messageEvent = new MessageEvent();
    boolean done = false;
    while (!done) {
        int eventType = parser.next();
        if (eventType == XmlPullParser.START_TAG) {
            if (parser.getName().equals("id"))
                messageEvent.setStanzaId(parser.nextText());
            if (parser.getName().equals(MessageEvent.COMPOSING))
                messageEvent.setComposing(true);
            if (parser.getName().equals(MessageEvent.DELIVERED))
                messageEvent.setDelivered(true);
            if (parser.getName().equals(MessageEvent.DISPLAYED))
                messageEvent.setDisplayed(true);
            if (parser.getName().equals(MessageEvent.OFFLINE))
                messageEvent.setOffline(true);
        } else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("x")) {
                done = true;
            }
        }
    }

    return messageEvent;
}