/// <summary> /// Initializes a new instance of the <see cref = "T:XmppEventMessage" /> class. /// </summary> /// <param name = "message">The event.</param> internal XmppEventMessage(Message message) { identifier = message.ID; @from = message.From; to = message.To; 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) { var items = (PubSubEventItems) xmppevent.Item; if (items.Items.Count == 1) { var 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) { var items = (PubSubEventItems) xmppevent.Item; if (items.Items.Count == 1) { var 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; }