package com.sissi.pipeline.in.iq.disco.muc;
import com.sissi.context.JID;
import com.sissi.context.JIDContext;
import com.sissi.pipeline.in.ProxyProcessor;
import com.sissi.protocol.Protocol;
import com.sissi.protocol.ProtocolType;
import com.sissi.protocol.iq.disco.Disco;
import com.sissi.protocol.iq.disco.Item;
/**
* To对应JID在线MUC房间集合
*
* @author kim 2013年12月19日
*/
public class DiscoItems4FansProcessor extends ProxyProcessor {
@Override
public boolean input(JIDContext context, Protocol protocol) {
Disco disco = protocol.cast(Disco.class);
// 如果一个用户以不同资源进入房间则仅显示其中一个
for (JID each : super.iSubscribedWho((super.build(protocol.parent().getTo())))) {
disco.add(new Item(each.asStringWithBare(), each.resource()));
}
context.write(disco.parent().reply().setType(ProtocolType.RESULT));
return true;
}
}