yimultiscreenserver-sdk-web
Version:
YiMultiScreenServer SDK for Web
48 lines • 2.52 kB
TypeScript
import { AccountBindDeviceVO } from "../../../vo/account/AccountBindDeviceVO";
import { LoginUserVO } from "../../../vo/account/LoginUserVO";
import { CastSessionVO } from "../../../vo/cast/CastSessionVO";
import { DisplayReportVO } from "../../../vo/report/DisplayReportVO";
import { BindDeviceAction } from "../message/BindDeviceAction";
import { SessionAction } from "../message/SessionAction";
import { SessionDestroyReason } from "../message/SessionDestroyReason";
export interface IControllerMQTTCallback {
/**
* 收到自身MQTT断连,说明与MQTT集群断开连接
* @param cause 断连原因
*/
onMySelfDisconnected(cause: string): void;
/**
* 收到服务器MQTT遗嘱,说明服务器挂了
*/
onServerDied(): void;
/**
* 收到目前已经连接上的显示设备的MQTT遗嘱,说明已经连接的显示设备挂了
*/
onDisplayDied(): void;
/**
* 收到一个显示端设备投屏状态更新上报消息,说明此显示端设备投屏状态产生变化,进行回调通知
* @param report 变更的显示设备的投屏上报消息,内含显示设备唯一ID和displayCode
*/
onDisplayReport(report: DisplayReportVO): void;
/**
* 收到CastSession系列消息,供控制终端进行投屏业务处理
* @param session 匹配的CastSession实体
* @param action 当前CastSession的阶段
* @param mediaPayload 携带的媒体内容信息
* @param reason 失败原因,可选参数
*/
onCastSession(session: CastSessionVO, action: SessionAction, mediaPayload: string, reason?: SessionDestroyReason): void;
/**
* 当某个账号下用户被踢下线(新用户登录,或者账号注销),此账号下所有已登录的控制端都会收到此消息
* @param user 被踢下线的用户信息
*/
onUserHasBeenKicked(user: LoginUserVO): void;
/**
* 当指定账号与显示设备绑定关系发生变化、或者被指定账号绑定的显示设备在线/离线时,此账号下会触发此消息
* 备注:目前此消息只实现了显示设备上线/下线,账号与显示设备绑定关系变化暂未实现
* @param accountBindDevice 指定账号与显示设备绑定关系
* @param action 标识消息是绑定关系变化还是显示设备上线/下线
*/
onAccountBindDevice(accountBindDevice: AccountBindDeviceVO, action: BindDeviceAction): void;
}
//# sourceMappingURL=IControllerMQTTCallback.d.ts.map