package com.sissi.pipeline.in.presence.status;
import com.sissi.context.JID;
import com.sissi.context.JIDContext;
import com.sissi.pipeline.Input;
import com.sissi.pipeline.in.ProxyProcessor;
import com.sissi.protocol.Protocol;
import com.sissi.protocol.presence.Presence;
/**
* MUC房间状态更新. 已上线(Presence)才更新
*
* @author kim 2014年2月18日
*/
public class PresenceOnlineMucProcessor extends ProxyProcessor {
private final Input proxy;
public PresenceOnlineMucProcessor(Input proxy) {
super();
this.proxy = proxy;
}
@Override
public boolean input(JIDContext context, Protocol protocol) {
if (context.onlined()) {
Presence presence = protocol.cast(Presence.class).clone();
for (JID group : super.iSubscribedWho(context.jid())) {
this.proxy.input(context, presence.setTo(group));
}
}
return true;
}
}