@signiant/media-shuttle-sdk-base
Version:
The base parent sdk behind other media shuttle sdks (e.g. media-shuttle-sdk)
31 lines • 1.65 kB
TypeScript
import { ParamsBase, ProviderInfoBase } from './MessagingConfig';
/**
* MessageChannel is the top level class for external messaging. Most of the implementation comes from the
* [[MessageChannelProvider]] class but the MessageChannel is still valuable because the sdk
* uses [[MessageChannelDecorator]]s liberally which delegate their function calls to the [[MessageChannelProvider]]
* they are decorating rather then provide their own implementation.
*/
declare abstract class MessageChannel<CP extends ParamsBase<ProviderInfoBase>> {
protected _clientInfo: any;
abstract initialize(callback?: Function): void;
abstract setEventHandler(originatorId: string, event: string | RegExp, handler: Function): void;
abstract setSessionActiveEventHandler(handler: Function): void;
abstract setErrorCallback(callback: Function): void;
abstract removeEventHandlers(originatorId: string): boolean;
abstract removeEventHandler(originatorId: string, event: string | RegExp): boolean;
abstract onMessage(message: object): void;
abstract notifyMessage(message: object): void;
abstract publish(message: object): void;
abstract reset(): void;
abstract getProviderInfo(): string;
abstract unsubscribeFromChannels(): void;
abstract getChannelParams(): CP;
abstract updateSettings(settings: object): void;
sendMessageRequest(originator: string, requestName: string, requestCallback: Function, content: object): void;
/**
* Should return information about the client device
*/
abstract get clientInfo(): any;
}
export default MessageChannel;
//# sourceMappingURL=MessageChannel.d.ts.map