正在查看: 95爱播免登录版 v3.1.9 应用的 PEPManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 95爱播免登录版 v3.1.9 应用的 PEPManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jivesoftware.smackx;
import java.util.ArrayList;
import java.util.List;
import org.jivesoftware.smack.Connection;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.filter.PacketExtensionFilter;
import org.jivesoftware.smack.filter.PacketFilter;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smackx.packet.PEPEvent;
import org.jivesoftware.smackx.packet.PEPItem;
import org.jivesoftware.smackx.packet.PEPPubSub;
public class PEPManager {
private Connection connection;
private PacketListener packetListener;
private List<PEPListener> pepListeners = new ArrayList();
private PacketFilter packetFilter = new PacketExtensionFilter("event", "http://jabber.org/protocol/pubsub#event");
public PEPManager(Connection connection) {
this.connection = connection;
init();
}
public void firePEPListeners(String str, PEPEvent pEPEvent) {
int size;
PEPListener[] pEPListenerArr;
synchronized (this.pepListeners) {
size = this.pepListeners.size();
pEPListenerArr = new PEPListener[size];
this.pepListeners.toArray(pEPListenerArr);
}
for (int i2 = 0; i2 < size; i2++) {
pEPListenerArr[i2].eventReceived(str, pEPEvent);
}
}
private void init() {
PacketListener packetListener = new PacketListener() {
@Override
public void processPacket(Packet packet) {
Message message = (Message) packet;
PEPManager.this.firePEPListeners(message.getFrom(), message.getExtension("event", "http://jabber.org/protocol/pubsub#event"));
}
};
this.packetListener = packetListener;
this.connection.addPacketListener(packetListener, this.packetFilter);
}
public void addPEPListener(PEPListener pEPListener) {
synchronized (this.pepListeners) {
if (!this.pepListeners.contains(pEPListener)) {
this.pepListeners.add(pEPListener);
}
}
}
public void destroy() {
Connection connection = this.connection;
if (connection != null) {
connection.removePacketListener(this.packetListener);
}
}
protected void finalize() throws Throwable {
destroy();
super.finalize();
}
public void publish(PEPItem pEPItem) {
PEPPubSub pEPPubSub = new PEPPubSub(pEPItem);
pEPPubSub.setType(IQ.Type.SET);
this.connection.sendPacket(pEPPubSub);
}
public void removePEPListener(PEPListener pEPListener) {
synchronized (this.pepListeners) {
this.pepListeners.remove(pEPListener);
}
}
}