UNPKG

@simplito/privmx-webendpoint

Version:

PrivMX Web Endpoint library

73 lines (70 loc) 3.69 kB
/*! PrivMX Web Endpoint. Copyright © 2024 Simplito sp. z o.o. This file is part of the PrivMX Platform (https://privmx.dev). This software is Licensed under the PrivMX Free License. See the License for the specific language governing permissions and limitations under the License. */ import { Jsep } from "../service/WebRtcInterface"; import { ContainerPolicy, PagingList, PagingQuery, StreamInfo, StreamEventSelectorType, StreamEventType, StreamRoom, TurnCredentials, UserWithPubKey } from "../Types"; import { WebRtcClient } from "../webStreams/WebRtcClient"; import { WebRtcInterfaceImpl } from "../webStreams/WebRtcInterfaceImpl"; import { Api } from "./Api"; import { BaseNative } from "./BaseNative"; import * as Types from "../Types"; export declare class StreamApiNative extends BaseNative { protected webRtcClient: WebRtcClient; protected static bindingId: number; static getBindingId(): number; protected webRtcInterfacePtr: number; protected selfPtr: number; protected webRtcInterfaceImpl: WebRtcInterfaceImpl | null; constructor(api: Api, webRtcClient: WebRtcClient); newApi(connectionPtr: number, eventApiPtr: number): Promise<number>; deleteApi(ptr: number): Promise<void>; create(ptr: number, args: []): Promise<void>; createStreamRoom(ptr: number, args: [ string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, ContainerPolicy | undefined ]): Promise<string>; updateStreamRoom(ptr: number, args: [ string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, number, boolean, boolean, ContainerPolicy | undefined ]): Promise<void>; deleteStreamRoom(ptr: number, args: [string]): Promise<void>; getStreamRoom(ptr: number, args: [string]): Promise<StreamRoom>; listStreamRooms(ptr: number, args: [string, PagingQuery]): Promise<PagingList<StreamRoom>>; createStream(ptr: number, args: [string]): Promise<Types.StreamHandle>; joinStreamRoom(ptr: number, args: [string]): Promise<void>; leaveStreamRoom(ptr: number, args: [string]): Promise<void>; enableStreamRoomRecording(ptr: number, args: [string]): Promise<void>; getStreamRoomRecordingKeys(ptr: number, args: [string]): Promise<Types.RecordingEncKey[]>; publishStream(ptr: number, args: [number]): Promise<Types.StreamPublishResult>; updateStream(ptr: number, args: [number]): Promise<Types.StreamPublishResult>; unpublishStream(ptr: number, args: [number]): Promise<void>; listStreams(ptr: number, args: [string]): Promise<StreamInfo[]>; subscribeToRemoteStreams(ptr: number, args: [string, Types.StreamSubscription[]]): Promise<void>; modifyRemoteStreamsSubscriptions(ptr: number, args: [string, Types.StreamSubscription[], Types.StreamSubscription[]]): Promise<void>; unsubscribeFromRemoteStreams(ptr: number, args: [string, Types.StreamSubscription[]]): Promise<void>; keyManagement(ptr: number, args: [boolean]): Promise<void>; getTurnCredentials(ptr: number, args: []): Promise<TurnCredentials[]>; subscribeFor(ptr: number, args: [string[]]): Promise<string[]>; unsubscribeFrom(ptr: number, args: [string[]]): Promise<void>; buildSubscriptionQuery(ptr: number, args: [StreamEventType, StreamEventSelectorType, string]): Promise<string>; trickle(ptr: number, args: [number, RTCIceCandidate]): Promise<void>; acceptOfferOnReconfigure(ptr: number, args: [number, Jsep]): Promise<void>; setNewOfferOnReconfigure(ptr: number, args: [number, Jsep]): Promise<void>; protected bindWebRtcInterfaceAsHandler(bindingId: number): void; }