/// <summary> /// Initializes a new instance of the <see cref="T:XmppEventMessage"/> class. /// </summary> /// <param name="message">The event.</param> internal XmppEventMessage(Message message) { this.identifier = message.ID; this.from = message.From; this.to = message.To; this.eventMessage = (PubSubEvent)message.Items[0]; }
/// <summary> /// Return a value that iundicates wheter a pubsub event is an activity event /// </summary> /// <param name="xmppevent"></param> /// <returns></returns> public static bool IsActivityEvent(PubSubEvent xmppevent) { if (xmppevent.Item is PubSubEventItems) { PubSubEventItems items = (PubSubEventItems)xmppevent.Item; if (items.Items.Count == 1) { PubSubItem item = (PubSubItem)items.Items[0]; return (item.Item is Tune || item.Item is Mood); } } return false; }
/// <summary> /// Creates an xmpp event with the give user and pubsub event /// </summary> /// <param name="user"></param> /// <param name="xmppevent"></param> /// <returns></returns> public static XmppEvent Create(XmppContact user, PubSubEvent xmppevent) { if (xmppevent.Item is PubSubEventItems) { PubSubEventItems items = (PubSubEventItems)xmppevent.Item; if (items.Items.Count == 1) { PubSubItem item = (PubSubItem)items.Items[0]; if (item.Item is Tune) { return new XmppUserTuneEvent(user, (Tune)item.Item); } else if (item.Item is Mood) { return new XmppUserMoodEvent(user, (Mood)item.Item); } } } return null; }