fcr-core
Version:
Core APIs for building online scenes
107 lines (106 loc) • 3.19 kB
TypeScript
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;
}