UNPKG

fcr-core

Version:

Core APIs for building online scenes

107 lines (106 loc) 3.19 kB
import { FcrDesktopMediaControl, FcrMobileMediaControl, FcrMonitorControl } from '..'; import { FcrMainRoomControl, FcrWaitingRoomControl, FcrRoomJoinOptions, FcrInfinityRoomControl } from '../room-control/type'; import { FcrRoomRouter, FcrPeerSessionControl, FcrCoreEngineObserver, FcrRemoteControl } from '../type'; import { Unknown } from '../imports'; export interface FcrCoreEngine { release(): void; /** * Logins to the RTE service. */ login(): Promise<void>; /** * Logouts from the RTE service. */ logout(): void; /** * Renews the user token. * @param token */ renewUserToken(token: string): Promise<number>; /** * Gets the version of the SDK. * @returns The version of the SDK. */ getVersion(): string; /** * Gets the dependency versions. * @returns The dependency versions. */ getDependencyVersions(): Record<string, string>; /** * Creates a room control. * @param roomId * @returns The room control. */ createMainRoomControl(roomId: string): FcrMainRoomControl; /** * Creates a waiting room control. * @param roomId * @returns The room control. */ createWaitingRoomControl(roomId: string): FcrWaitingRoomControl; /** * Creates an infinity room control. * @param roomId */ createInfinityRoomControl(roomId: string): FcrInfinityRoomControl; /** * Creates room router. * @param roomId * @returns The room router. */ createRoomRouter(roomId: string): FcrRoomRouter; /** * Creates a main room control or a waiting room control. * @param roomId * @returns The room control. */ createRoomControlAndJoin(roomId: string, options: FcrRoomJoinOptions): Promise<FcrMainRoomControl | FcrWaitingRoomControl | FcrInfinityRoomControl>; /** * Gets the media control. * @returns The media control. */ getDesktopMediaControl(): FcrDesktopMediaControl; /** * Gets the mobile media control. * @returns The mobile media control. */ getMobileMediaControl(): FcrMobileMediaControl; /** * Gets the monitor control. * @returns The monitor control. */ getMonitorControl(): FcrMonitorControl; /** * Gets the peer session control. * @returns The peer session control. */ getPeerSessionControl(): FcrPeerSessionControl; /** * Gets the remote control. * @returns The remote control. */ getRemoteControl(): FcrRemoteControl; /** * Sends a peer message. * @param payload * @param guaranteedDelivery * @param receiverId */ sendPeerMessage(payload: Record<string, Unknown>, guaranteedDelivery: boolean, receiverId: string): Promise<number>; /** * Sets the parameters. * @param parameters */ setParameters(parameters: Record<string, Unknown>): number; /** * Adds an observer. * @param observer */ addObserver(observer: FcrCoreEngineObserver): void; /** * Removes an observer. * @param observer */ removeObserver(observer: FcrCoreEngineObserver): void; }