📄 registrationmanager.cs
字号:
using System;
using System.IO;
using System.Xml;
using System.Threading;
using gowk.core.packets;
using gowk.net.Sockets;
using gowk.net;
using gowk.core.packets.querys;
namespace gowk.core.managers
{
/// <summary>
/// RegistrationManager 的摘要说明。
/// </summary>
public class RegistrationManager:ManagerBase
{
public RegistrationManager():base()
{
}
public RegistrationManager(JabberClient jc):base(jc)
{
}
protected internal override bool OnMessage(gowk.core.packets.Packet pack)
{
if(!(pack is IQ))return false;
IQ iq=(IQ)pack;
if(!(iq.Query is RegisterQuery))return false;
return base.OnMessage (pack);
}
/// <summary>
/// <iq type='get' id='reg1'>
///<query xmlns='jabber:iq:register'/>
/// </iq>
/// </summary>
public void GetRegistrationFields(JabberCallBack cb,int timeout)
{
IQ iq=new IQ();
iq.Type=PacketType.get;
iq.ID=IDGenerator.NewID;
iq.Query=new gowk.core.packets.querys.RegisterQuery();
this.Send(iq,cb,timeout);
}
public void Regist(string username,string password,string email,JabberCallBack cb,int timeout)
{
IQ iq=new IQ();
iq.Type=PacketType.set;
iq.ID=IDGenerator.NewID;
gowk.core.packets.querys.RegisterQuery q=new gowk.core.packets.querys.RegisterQuery();
q.username=username;
q.password=password;
q.email=email;
iq.Query=q;
this.Send(iq,cb,timeout);
}
public void SendRegist(IQ iq,JabberCallBack cb,int timeout)
{
this.Send(iq,cb,timeout);
}
/// <summary>
/// <iq type='set' to='somehost' id='change1'/>
///<query xmlns='jabber:iq:register'>
/// <username>bill</username>
///<password>newpass</password>
///</query>
///</iq>
/// </summary>
public void ChangePassword(string username,string password,JabberCallBack cb,int timeout)
{
this.Regist(username,password,null,cb,timeout);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -