package com.sissi.pipeline.in.iq.register; import com.sissi.context.JIDContext; import com.sissi.context.impl.OfflineJID; import com.sissi.pipeline.in.ProxyProcessor; import com.sissi.protocol.Protocol; import com.sissi.protocol.ProtocolType; import com.sissi.protocol.iq.register.Register; import com.sissi.protocol.iq.register.simple.Registered; import com.sissi.protocol.iq.register.simple.Username; /** * 校验当前用户是否已登录 * * @author kim 2014年5月8日 */ public class RegisterCheckAllowedProcessor extends ProxyProcessor { @Override public boolean input(JIDContext context, Protocol protocol) { return context.binding() ? this.writeAndReturn(context, protocol) : true; } private boolean writeAndReturn(JIDContext context, Protocol protocol) { context.write(protocol.cast(Register.class).clear().add(Registered.FIELD).add(new Username().setText(context.jid().user())).parent().reply().setType(ProtocolType.RESULT).setFrom(OfflineJID.OFFLINE)); return false; } }