fcr-core
Version:
Core APIs for building online scenes
32 lines (31 loc) • 1.76 kB
TypeScript
import { FcrRemoteControl, FcrRemoteControlConnectionState, FcrRemoteControlSessionParams, FcrRemoteControlState, FcrRemoteObserver } from './type';
import { AgoraRteEngine } from '../imports';
import { FcrPeerSession } from '../peer-session/type';
import { FcrCoreServiceApi } from '../service/api';
export declare const KEEPALIVE_TIMEOUT_MULTIPLIER = 2;
export type FcrRemoteControlUpdateSessionData = Omit<FcrPeerSession, 'keepAlive'> & {
action: 0 | 1 | 2 | 3;
keepAlive: 0 | 1;
};
export declare class FcrRemoteControlImpl implements FcrRemoteControl {
private _rteEngine;
private _api;
private readonly _userId;
protected logger: import("agora-foundation/lib/logger/type").Logger;
private _remoteControlSessionKey;
private _observable;
constructor(_rteEngine: AgoraRteEngine, _api: FcrCoreServiceApi, _userId: string);
private _handleUpdateRemoteControlSession;
private _handleDeleteRemoteControlSession;
startRemoteControlRequest(params: FcrRemoteControlSessionParams): Promise<string | null>;
acceptRemoteControlRequest(_sessionId: string, cause?: Record<string, unknown>): Promise<void>;
rejectRemoteControlRequest(_sessionId: string, cause?: Record<string, unknown>): Promise<void>;
terminateRemoteControl(_sessionId: string, cause?: Record<string, unknown>): Promise<void>;
updateRemoteControlConnectionState(_sessionId: string, _state: FcrRemoteControlConnectionState, cause?: Record<string, unknown>): Promise<void>;
getRemoteControlState(): FcrRemoteControlState | null;
addObserver(observer: FcrRemoteObserver): void;
removeObserver(observer: FcrRemoteObserver): void;
release(): Promise<void>;
private _notifyRemoteControlState;
private _addLogObserver;
}