public void XmppCon_OnIq(object sender, IQ iq) { if (InvokeRequired) { // Windows Forms are not Thread Safe, we need to invoke this :( // We're not in the UI thread, so we need to call BeginInvoke BeginInvoke(new IqHandler(XmppCon_OnIq), new object[] { sender, iq }); return; } if (iq != null) { // No Iq with query if (iq.HasTag(typeof(CSS.IM.XMPP.protocol.extensions.si.SI))) { if (iq.Type == IqType.error) { CSS.IM.XMPP.protocol.extensions.si.SI si = iq.SelectSingleElement(typeof(CSS.IM.XMPP.protocol.extensions.si.SI)) as CSS.IM.XMPP.protocol.extensions.si.SI; CSS.IM.XMPP.protocol.extensions.filetransfer.File file = si.File; if (file != null) { // somebody wants to send a file to us //if (!Util.ChatForms.ContainsKey(iq.From.Bare))//正常消息 //{ // //RosterNode rn = rosterControl.GetRosterItem(msg.From); // //string nick = msg.From.Bare; // //if (rn != null) // // nick = rn.Text; // ChatForm chatForm = new ChatForm(iq.From, XmppCon, iq.From.Bare); // chatForm.Show(); // //chatForm.IncomingMessage(msg); // chatForm.FileTransfer(iq); //} } } } else { } } }
public void XmppCon_OnIq(object sender, IQ iq) { if (InvokeRequired) { // Windows Forms are not Thread Safe, we need to invoke this :( // We're not in the UI thread, so we need to call BeginInvoke BeginInvoke(new IqHandler(XmppCon_OnIq), new object[] { sender, iq }); return; } if (iq != null) { if (iq.HasTag(typeof(CSS.IM.XMPP.protocol.extensions.si.SI))) { if (iq.Type == IqType.set) { CSS.IM.XMPP.protocol.extensions.si.SI si = iq.SelectSingleElement(typeof(CSS.IM.XMPP.protocol.extensions.si.SI)) as CSS.IM.XMPP.protocol.extensions.si.SI; CSS.IM.XMPP.protocol.extensions.filetransfer.File file = si.File; if (file != null) { if (!Util.ChatForms.ContainsKey(iq.From.Bare))//查看聊天窗口是否已经打开了 { try { Friend flfriend = listView_fd.Rosters[iq.From.Bare]; string nickName = listView_fd.GetFriendNickName(iq.From.Bare); ChatFromMsg chatForm = new ChatFromMsg(iq.From, XmppCon, nickName); chatForm.UpdateFriendOnline(flfriend.IsOnline);//设置好友在线状态 chatForm.Show(); //chatForm.FileTransfer(iq); chatForm.Activate(); } catch (Exception) { } } else { } } } } else { } } }