Implement auto join policy handling

This commit is contained in:
Matt Hensman
2022-09-09 23:32:49 +01:00
committed by GitHub
parent f76e8194fb
commit 3eba371c5f
7 changed files with 493 additions and 313 deletions

View File

@@ -12,8 +12,8 @@ import type {
SenderMessage
} from "./types";
import { SessionStatus } from "./enums";
import type {
import { ErrorCode, SessionStatus } from "./enums";
import {
Error as CastError,
Image,
Receiver,
@@ -268,6 +268,11 @@ export default class Session {
successCallback?: (media: Media) => void,
errorCallback?: (err: CastError) => void
) {
if (!loadRequest) {
errorCallback?.(new CastError(ErrorCode.INVALID_PARAMETER));
return;
}
this.#loadMediaSuccessCallback = successCallback;
this.#loadMediaErrorCallback = errorCallback;

View File

@@ -222,7 +222,7 @@ export default class {
case "cast:sessionStopped": {
const { sessionId } = message.data;
const session = this.#sessions.get(sessionId);
if (session) {
if (session?.status === SessionStatus.CONNECTED) {
session.status = SessionStatus.STOPPED;
const updateListeners = SessionUpdateListeners.get(session);
@@ -349,7 +349,7 @@ export default class {
});
}
requestSessionById(_sessionId: string): void {
requestSessionById(_sessionId: string) {
logger.info("STUB :: cast.requestSessionById");
}
@@ -357,15 +357,15 @@ export default class {
_receivers: Receiver[],
_successCallback?: () => void,
_errorCallback?: (err: CastError) => void
): void {
) {
logger.info("STUB :: cast.setCustomReceivers");
}
setPageContext(_win: Window): void {
setPageContext(_win: Window) {
logger.info("STUB :: cast.setPageContext");
}
setReceiverDisplayStatus(_sessionId: string): void {
setReceiverDisplayStatus(_sessionId: string) {
logger.info("STUB :: cast.setReceiverDisplayStatus");
}