All Downloads are FREE. Search and download functionalities are using the official Maven repository.

js.web.webrtc.RTCSctpTransport Maven / Gradle / Ivy

package js.web.webrtc;

import js.web.dom.*;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSProperty;

import javax.annotation.Nullable;

/**
 * Created by Artem Godin on 1/22/2020.
 */
public interface RTCSctpTransport extends EventTarget {
    @JSBody(script = "return RTCSctpTransport.prototype")
    static RTCSctpTransport prototype() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(script = "return new RTCSctpTransport()")
    static RTCSctpTransport create() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSProperty
    @Nullable
    int getMaxChannels();

    @JSProperty
    int getMaxMessageSize();

    @JSProperty
    @Nullable
    EventListener getOnstatechange();

    @JSProperty
    void setOnstatechange(EventListener onstatechange);

    default void addStateChangeEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("statechange", listener, options);
    }

    default void addStateChangeEventListener(EventListener listener, boolean options) {
        addEventListener("statechange", listener, options);
    }

    default void addStateChangeEventListener(EventListener listener) {
        addEventListener("statechange", listener);
    }

    default void removeStateChangeEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("statechange", listener, options);
    }

    default void removeStateChangeEventListener(EventListener listener, boolean options) {
        removeEventListener("statechange", listener, options);
    }

    default void removeStateChangeEventListener(EventListener listener) {
        removeEventListener("statechange", listener);
    }

    @JSProperty
    RTCSctpTransportState getState();

    @JSProperty
    RTCDtlsTransport getTransport();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy