yimultiscreenserver-sdk-web
Version:
YiMultiScreenServer SDK for Web
42 lines • 2.41 kB
TypeScript
import { MQTTLogic } from "../MQTTLogic";
import { CastSessionMessage } from "../message/CastSessionMessage";
import { DataMessage } from "../message/DataMessage";
import { DisplayReportMessage } from "../message/DisplayReportMessage";
import { WillMessage } from "../message/WillMessage";
import { YMSMessage } from "../message/YMSMessage";
import { IControllerMQTTCallback } from "./IControllerMQTTCallback";
import { AccountBindDeviceMessage } from "../message/AccountBindDeviceMessage";
import { UserHasBeenKickedMessage } from "../message/UserHasBeenKickedMessage";
export declare class ControllerMQTTImpl extends MQTTLogic {
private readonly MYSELF_DISCONNECT_CALLBACK_GAP_MS;
private readonly callback;
private accountId;
private isSkipDisconnectCallbackOnce;
private lastDisconnectTime;
constructor(clientId: string, callback: IControllerMQTTCallback);
connect(displayCode: number): Promise<void>;
disconnect(displayCode: number): Promise<string>;
/**
* 控制端单独增加的公开方法,用于控制端成功完成账号登录后,监听该账号topic下消息
* @param accountId 登录后拿到的账号唯一ID
*/
subscribeAccountTopic(accountId: number): void;
/**
* 控制端单独增加的公开方法,用于控制端成功退出账号或注销账号后,解除对指定账号的topic消息监听
* @param accountId 登录后拿到的账号唯一ID
*/
unsubscribeAccountTopic(accountId: number): void;
protected isMessageFromSelf(message: YMSMessage): boolean;
protected isMessageForMe(message: YMSMessage): boolean;
protected createMySelfWill(displayCode: number, clientId: string): WillMessage;
protected subscribeInterestTopic(displayCode: number): void;
protected unsubscribeAllTopics(displayCode: number): void;
protected onWillMessageArrived(message: WillMessage): void;
protected onDisplayReportMessageArrived(message: DisplayReportMessage): void;
protected onCastSessionMessageArrived(message: CastSessionMessage): void;
protected onDataMessageArrived(message: DataMessage): void;
protected onUserHasBeenKickedMessageArrived(message: UserHasBeenKickedMessage): void;
protected onAccountBindDeviceMessageArrived(message: AccountBindDeviceMessage): void;
protected onConnectionLost(cause: string): void;
}
//# sourceMappingURL=ControllerMQTTImpl.d.ts.map