导航菜单

页面标题

页面副标题

95爱播免登录版 v3.1.9 - Bytestream.java 源代码

正在查看: 95爱播免登录版 v3.1.9 应用的 Bytestream.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.jivesoftware.smackx.bytestreams.socks5.packet;

import com.zego.zegoavkit2.ZegoConstants;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.PacketExtension;

public class Bytestream extends IQ {
    private String sessionID;
    private Activate toActivate;
    private StreamHostUsed usedHost;
    private Mode mode = Mode.tcp;
    private final List<StreamHost> streamHosts = new ArrayList();

    public static class Activate implements PacketExtension {
        public static String ELEMENTNAME = "activate";
        public String NAMESPACE = "";
        private final String target;

        public Activate(String str) {
            this.target = str;
        }

        @Override
        public String getElementName() {
            return ELEMENTNAME;
        }

        @Override
        public String getNamespace() {
            return this.NAMESPACE;
        }

        public String getTarget() {
            return this.target;
        }

        @Override
        public String toXML() {
            return "<" + getElementName() + ">" + getTarget() + "</" + getElementName() + ">";
        }
    }

    public enum Mode {
        tcp,
        udp;

        public static Mode fromName(String str) {
            try {
                return valueOf(str);
            } catch (Exception unused) {
                return tcp;
            }
        }

        public static Mode[] valuesCustom() {
            Mode[] valuesCustom = values();
            int length = valuesCustom.length;
            Mode[] modeArr = new Mode[length];
            System.arraycopy(valuesCustom, 0, modeArr, 0, length);
            return modeArr;
        }
    }

    public static class StreamHost implements PacketExtension {
        public static String ELEMENTNAME = "streamhost";
        public static String NAMESPACE = "";
        private final String JID;
        private final String addy;
        private int port = 0;

        public StreamHost(String str, String str2) {
            this.JID = str;
            this.addy = str2;
        }

        public String getAddress() {
            return this.addy;
        }

        @Override
        public String getElementName() {
            return ELEMENTNAME;
        }

        public String getJID() {
            return this.JID;
        }

        @Override
        public String getNamespace() {
            return NAMESPACE;
        }

        public int getPort() {
            return this.port;
        }

        public void setPort(int i2) {
            this.port = i2;
        }

        @Override
        public String toXML() {
            StringBuilder sb = new StringBuilder();
            sb.append("<");
            sb.append(getElementName());
            sb.append(ZegoConstants.ZegoVideoDataAuxPublishingStream);
            sb.append("jid=\"");
            sb.append(getJID());
            sb.append("\" ");
            sb.append("host=\"");
            sb.append(getAddress());
            sb.append("\" ");
            if (getPort() != 0) {
                sb.append("port=\"");
                sb.append(getPort());
                sb.append("\"");
            } else {
                sb.append("zeroconf=\"_jabber.bytestreams\"");
            }
            sb.append("/>");
            return sb.toString();
        }
    }

    public static class StreamHostUsed implements PacketExtension {
        public static String ELEMENTNAME = "streamhost-used";
        private final String JID;
        public String NAMESPACE = "";

        public StreamHostUsed(String str) {
            this.JID = str;
        }

        @Override
        public String getElementName() {
            return ELEMENTNAME;
        }

        public String getJID() {
            return this.JID;
        }

        @Override
        public String getNamespace() {
            return this.NAMESPACE;
        }

        @Override
        public String toXML() {
            return "<" + getElementName() + ZegoConstants.ZegoVideoDataAuxPublishingStream + "jid=\"" + getJID() + "\" />";
        }
    }

    public Bytestream() {
    }

    public StreamHost addStreamHost(String str, String str2) {
        return addStreamHost(str, str2, 0);
    }

    public int countStreamHosts() {
        return this.streamHosts.size();
    }

    @Override
    public String getChildElementXML() {
        StringBuilder sb = new StringBuilder();
        sb.append("<query xmlns=\"http://jabber.org/protocol/bytestreams\"");
        if (getType().equals(IQ.Type.SET)) {
            if (getSessionID() != null) {
                sb.append(" sid=\"");
                sb.append(getSessionID());
                sb.append("\"");
            }
            if (getMode() != null) {
                sb.append(" mode = \"");
                sb.append(getMode());
                sb.append("\"");
            }
            sb.append(">");
            if (getToActivate() == null) {
                Iterator<StreamHost> it = getStreamHosts().iterator();
                while (it.hasNext()) {
                    sb.append(it.next().toXML());
                }
            } else {
                sb.append(getToActivate().toXML());
            }
        } else {
            if (!getType().equals(IQ.Type.RESULT)) {
                if (!getType().equals(IQ.Type.GET)) {
                    return null;
                }
                sb.append("/>");
                return sb.toString();
            }
            sb.append(">");
            if (getUsedHost() != null) {
                sb.append(getUsedHost().toXML());
            } else if (countStreamHosts() > 0) {
                Iterator<StreamHost> it2 = this.streamHosts.iterator();
                while (it2.hasNext()) {
                    sb.append(it2.next().toXML());
                }
            }
        }
        sb.append("</query>");
        return sb.toString();
    }

    public Mode getMode() {
        return this.mode;
    }

    public String getSessionID() {
        return this.sessionID;
    }

    public StreamHost getStreamHost(String str) {
        if (str == null) {
            return null;
        }
        for (StreamHost streamHost : this.streamHosts) {
            if (streamHost.getJID().equals(str)) {
                return streamHost;
            }
        }
        return null;
    }

    public Collection<StreamHost> getStreamHosts() {
        return Collections.unmodifiableCollection(this.streamHosts);
    }

    public Activate getToActivate() {
        return this.toActivate;
    }

    public StreamHostUsed getUsedHost() {
        return this.usedHost;
    }

    public void setMode(Mode mode) {
        this.mode = mode;
    }

    public void setSessionID(String str) {
        this.sessionID = str;
    }

    public void setToActivate(String str) {
        this.toActivate = new Activate(str);
    }

    public void setUsedHost(String str) {
        this.usedHost = new StreamHostUsed(str);
    }

    public StreamHost addStreamHost(String str, String str2, int i2) {
        StreamHost streamHost = new StreamHost(str, str2);
        streamHost.setPort(i2);
        addStreamHost(streamHost);
        return streamHost;
    }

    public Bytestream(String str) {
        setSessionID(str);
    }

    public void addStreamHost(StreamHost streamHost) {
        this.streamHosts.add(streamHost);
    }
}