yimultiscreenserver-sdk-web
Version:
YiMultiScreenServer SDK for Web
51 lines • 2.73 kB
TypeScript
import { MQTTConfig } from "../../config/MQTTConfig";
import { IMQTTCallback } from "./IMQTTCallback";
import { IMQTTClient } from './IMQTTClient';
import { MQTTConnectOption } from "./MQTTConnectOption";
import { AccountBindDeviceMessage } from "./message/AccountBindDeviceMessage";
import { CastSessionMessage } from "./message/CastSessionMessage";
import { DataMessage } from "./message/DataMessage";
import { DisplayReportMessage } from "./message/DisplayReportMessage";
import { UserHasBeenKickedMessage } from "./message/UserHasBeenKickedMessage";
import { WillMessage } from "./message/WillMessage";
import { YMSMessage } from "./message/YMSMessage";
export declare abstract class MQTTLogic implements IMQTTCallback {
readonly TAG: string;
private parser;
private clientId;
private messageTimestampOfSenderUnderTopics;
private client;
private config;
private displayCode;
protected isConnected: boolean;
constructor(clientId: string);
setMQTTClientImpl(impl: IMQTTClient, config: MQTTConfig): void;
/**
* 连接MQTT服务器
* @param displayCode 传入值<=0时,代表需要通配(#)
*/
connect(displayCode: number): void;
protected connectWithOptions(options: MQTTConnectOption): void;
protected createMqttOptions(): MQTTConnectOption;
publish(displayCode: number, ymsMessage: YMSMessage): void;
disconnect(displayCode: number): Promise<string>;
connectionLost(cause: string): void;
connectComplete(reconnect: boolean, serverURI: string): void;
messageArrived(topic: string, message: string): void;
private isMessageExpired;
protected getClient(): IMQTTClient | undefined;
protected getConfig(): MQTTConfig;
protected abstract isMessageFromSelf(message: YMSMessage): boolean;
protected abstract isMessageForMe(message: YMSMessage): boolean;
protected abstract createMySelfWill(displayCode: number, clientId: string): WillMessage;
protected abstract subscribeInterestTopic(displayCode: number): void;
protected abstract unsubscribeAllTopics(displayCode: number): void;
protected abstract onWillMessageArrived(message: WillMessage): void;
protected abstract onDisplayReportMessageArrived(message: DisplayReportMessage): void;
protected abstract onCastSessionMessageArrived(message: CastSessionMessage): void;
protected abstract onDataMessageArrived(message: DataMessage): void;
protected abstract onUserHasBeenKickedMessageArrived(message: UserHasBeenKickedMessage): void;
protected abstract onAccountBindDeviceMessageArrived(message: AccountBindDeviceMessage): void;
protected abstract onConnectionLost(cause: string): void;
}
//# sourceMappingURL=MQTTLogic.d.ts.map