agora-meeting-sdk
Version:
For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io
113 lines (112 loc) • 5.02 kB
TypeScript
import { AgoraWebStreamCoordinator } from '../core/media-service/web/coordinator';
import { EduClassroomAttrs, EduRoomAttrs, EduStream, EduStreamData, EduUserAttrs, EduUserData } from '../interfaces';
import { EduClassroomManager } from '../room/edu-classroom-manager';
import { CauseType } from '../core/services/edu-api';
import { EduClassroomManagerEventHandlers, SingleParameter } from './types';
import { OperatorUser } from './types';
export declare type SeqData = {
seqId: number;
data: any;
cmd: number;
};
export declare type SeqRawData = Pick<SeqData, 'data' | 'cmd'>;
export declare class EduClassroomDataController {
private _roomAttrs?;
private _localUser?;
private _streamList;
private _userList;
private _localUserUuid;
streamCoordinator?: AgoraWebStreamCoordinator;
setLocalUserUuid(v: string): void;
get localUserUuid(): string;
private _userToken?;
get userToken(): string;
setUserToken(t: string): void;
get roomAttrs(): EduRoomAttrs;
get roomUuid(): string;
private roomManager;
private _id;
private _curSeqId;
private _bufferMap;
setCurrentSeqId(v: number): void;
get curSeqId(): number;
private _latestSeqId;
get missingSeqId(): boolean;
syncSequenceTimes: number;
fire<EventName extends keyof EduClassroomManagerEventHandlers>(eventName: EventName, parameter: SingleParameter<EduClassroomManagerEventHandlers[EventName]>): void;
syncingData: boolean;
syncData(full: boolean, delay: number): Promise<void>;
private syncTimer;
asyncBatchUpdateData(delay: number): void;
BatchUpdateData(): void;
syncFullSequence(): Promise<void>;
private syncSequence;
syncFromCurrentSequenceId(): Promise<void>;
setLatestSeqId(v: number): void;
appendBuffer(buffer: SeqData): void;
private _minSeqId;
private retryTimer;
constructor(context: EduClassroomManager);
upsertLocalUser(user: EduUserAttrs, streamMap?: Record<string, any>): void;
private _cachedLocalStreams;
get streamMap(): Record<string, any>;
get streamIds(): any[];
get streamList(): EduStreamData[];
get userList(): EduUserData[];
get userIds(): string[];
set localUser(v: EduUserData);
get localUser(): EduUserData;
get localStreamData(): EduStreamData;
get localScreenShareStream(): EduStreamData;
isLocalStreams(stream: EduStream): boolean;
isLocalUser(userUuid: string): boolean;
addStreams(rawStreams: EduStreamData[], operator: OperatorUser, cause: CauseType, seqId?: number): void;
private isMainStream;
private isScreenShare;
removeTargetStream(targetStream: EduStreamData): void;
removeLocalStream(streamUuid: string, operator: OperatorUser, cause: CauseType, seqId?: any): void;
removeStreams(streams: EduStreamData[], operator: OperatorUser, cause: CauseType, seqId?: number): void;
userIsOffline(user: EduUserData): boolean;
streamIsOffline(stream: EduStreamData): boolean;
addUserList(list: EduUserData[], operator: OperatorUser, cause: CauseType, seqId?: number): void;
removeUserList(list: EduUserData[], operator: OperatorUser, cause: CauseType, seqId?: number): void;
updateUserState(data: EduUserData, operator: OperatorUser, cause: Record<string, any>): void;
updateUserChatMute(data: any, operator: any, cause: any): void;
updateUserList(onlineUsers: EduUserData[], offlineUsers: EduUserData[], operatorUser: OperatorUser, cause: CauseType, seqId?: number): void;
updateStreamList(onlineStreams: EduStreamData[], offlineUsers: EduStreamData[], operatorUser: OperatorUser, cause: CauseType, seqId?: number): void;
upsertTargetStream(targetStream: EduStreamData): void;
upsertLocalStream(type: 'main' | 'screen', data: EduStreamData, operator: OperatorUser, cause: CauseType, seqId?: any): void;
updateClassroomAttrs(params: any): void;
updateClassroom(params: Partial<EduClassroomAttrs>): void;
get classroom(): {
roomInfo: any;
roomStatus: any;
roomProperties: any;
};
getClassroom(): {
roomInfo: any;
roomStatus: any;
roomProperties: any;
};
reset(): void;
private _roomInfo;
get roomInfo(): any;
private _roomProperties;
get roomProperties(): any;
private _users;
get users(): EduUserData[];
private _streams;
get streams(): EduStreamData[];
private _roomStatus;
get roomState(): any;
setRoomInfo(state: any): void;
setRoomStatus(state: any, cause?: CauseType): void;
setRoomProperties(roomProperties: any, operator?: OperatorUser, cause?: CauseType): void;
updateBatchRoomProperties(roomProperties: any, cause: CauseType): void;
setRoomBatchProperties(newProperties: any, operator?: OperatorUser, cause?: CauseType): void;
private _localUserData?;
get localUserData(): EduUserData;
setLocalData(roomData: any): void;
setLocalUser(user: EduUserData): void;
setRawUsers(rawUsers: any[]): void;
}