fcr-core
Version:
Core APIs for building online scenes
58 lines (57 loc) • 2.74 kB
TypeScript
import { AgoraRteEngine, AgoraRteScene } from '../../imports';
import { FcrCoreServiceApi } from '../../service/api';
import { FcrScreenStreamCreateConfig, FcrSize, FcrStreamControl } from '../stream-control/type';
import { FcrScreenSharingState, FcrSharingControl, FcrSharingObserver, FcrWhiteboardState } from './type';
import { FcrPrivilegeControl } from '../privilege-control/type';
import { FcrWhiteboardControl } from '../whiteboard-control-v2/whiteboard-control/type';
import { FcrStreamInfo } from '../../type';
import { FcrCoreEngineConfig, FcrUserControl } from '../..';
import { FcrSharedCache } from '../shared-cache';
import { FcrAnnotationControl } from '../whiteboard-control-v2/annotation-control/type';
export declare class FcrSharingControlImpl implements FcrSharingControl {
private _scene;
private _api;
private _engine;
private _config;
private _privilegeControl;
private _streamControl;
private _sharedCache;
private _userControl;
protected logger: import("agora-foundation/lib/logger/type").Logger;
private _observable;
private _annotationControl;
private _whiteboardControl;
private _isActive;
private _shareOwnerId;
private _shareOwnerStream;
private _lastScreenSharingState;
private _lastScreenSharingStreamId;
private _streamObserver;
private _sceneObserver;
private _whiteboardObserver;
get ownerId(): string;
get ownerStream(): FcrStreamInfo | null;
constructor(_scene: AgoraRteScene, _api: FcrCoreServiceApi, _engine: AgoraRteEngine, _config: FcrCoreEngineConfig, _privilegeControl: FcrPrivilegeControl, _streamControl: FcrStreamControl, _sharedCache: FcrSharedCache, _userControl: FcrUserControl);
startScreenSharing(config: FcrScreenStreamCreateConfig, size?: FcrSize, labels?: Map<string, any>): Promise<string>;
startWhiteboard(): Promise<void>;
updateScreenSharing(enableAnnotation: boolean): Promise<void>;
stop(): Promise<void>;
getScreenSharingState(): FcrScreenSharingState;
getWhiteboardState(): FcrWhiteboardState;
getAnnotationControl(): FcrAnnotationControl;
getSharingWindowSize(): FcrSize | undefined;
getBoardControl(): FcrWhiteboardControl;
addObserver(observer: FcrSharingObserver): void;
removeObserver(observer: FcrSharingObserver): void;
release(): void;
private _getPureSceneAnnotationState;
private _isStreamToHandleScreenSharing;
private _handleOnStreamsAdded;
private _handleOnStreamsRemoved;
private _handleOnScenePropertiesUpdated;
private _handleOnWhiteboardActive;
private _handleOnWhiteboardInActive;
private _getScreenShareStreamByUuid;
private _notifyScreenSharingUpdated;
private _addLogObserver;
}