private void OnRegistrationFieldsResult(object sender, IQ iq, object data) { if (iq.Type != IqType.error) { if (iq.Query != null && iq.Query.GetType() == typeof(Register)) { RegisterEventArgs args = new RegisterEventArgs(iq.Query as Register); if (OnRegisterInformation != null) OnRegisterInformation(this, args); DoChangeXmppConnectionState(XmppConnectionState.Registering); IQ regIq = new IQ(IqType.set); regIq.GenerateId(); regIq.To = new Jid(base.Server); //RegisterIq regIq = new RegisterIq(IqType.set, new Jid(base.Server)); if (args.Auto) { Register reg = new Register(this.m_Username, this.m_Password); regIq.Query = reg; } else { regIq.Query = args.Register; } IqGrabber.SendIq(regIq, new IqCB(OnRegisterResult), data); } } else { if (OnRegisterError != null) OnRegisterError(this, iq); } }
private void OnGetAuthInfo(object sender, IQ iq, object data) { // We get smth like this and should add password (digest) and ressource // Recv:<iq type="result" id="MX_7"><query xmlns="jabber:iq:auth"><username>gnauck</username><password/><digest/><resource/></query></iq> // Send:<iq type='set' id='mx_login'> // <query xmlns='jabber:iq:auth'><username>gnauck</username><digest>27c05d464e3f908db3b2ca1729674bfddb28daf2</digest><resource>Office</resource></query> // </iq> // Recv:<iq id="mx_login" type="result"/> iq.GenerateId(); iq.SwitchDirection(); iq.Type = IqType.set; Auth auth = (Auth) iq.Query; auth.Resource = this.m_Resource; auth.SetAuth(this.m_Username, this.m_Password, this.StreamId); IqGrabber.SendIq(iq, new IqCB(OnAuthenticate), null); }