package com.sissi.server.getout.impl; import com.sissi.context.JID; import com.sissi.context.JIDContext; import com.sissi.pipeline.Input; import com.sissi.protocol.presence.Presence; import com.sissi.protocol.presence.PresenceType; import com.sissi.server.getout.Getout; import com.sissi.ucenter.relation.RelationContext; /** * 强制离席MUC房间 * * @author kim 2013-11-20 */ public class MucGetout implements Getout { private final Input proxy; private final RelationContext relationContext; public MucGetout(Input proxy, RelationContext relationContext) { super(); this.proxy = proxy; this.relationContext = relationContext; } @Override public MucGetout getout(JIDContext context) { Presence presence = new Presence(); for (JID group : this.relationContext.iSubscribedWho(context.jid())) { this.proxy.input(context, presence.setTo(group).type(PresenceType.UNAVAILABLE)); } return this; } }