mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-08 08:39:59 +00:00
Remove remaining native receiver selector code
This commit is contained in:
@@ -1,88 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
import child_process from "child_process";
|
||||
import path from "path";
|
||||
|
||||
import { sendMessage } from "../lib/nativeMessaging";
|
||||
|
||||
function fatal(message: string) {
|
||||
console.error(message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
let selectorApp: child_process.ChildProcess | undefined;
|
||||
let selectorAppOpen = false;
|
||||
|
||||
export function startReceiverSelector(data: string) {
|
||||
if (process.platform !== "darwin") {
|
||||
fatal("Invalid platform for native receiver selector.");
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
fatal("Missing native selector data");
|
||||
} else {
|
||||
try {
|
||||
JSON.parse(data);
|
||||
} catch (err) {
|
||||
fatal("Invalid native selector data.");
|
||||
}
|
||||
}
|
||||
|
||||
if (selectorApp && selectorAppOpen) {
|
||||
selectorApp.kill();
|
||||
selectorAppOpen = false;
|
||||
}
|
||||
|
||||
const selectorPath = path.join(
|
||||
process.cwd(),
|
||||
"fx_cast_selector.app/Contents/MacOS/fx_cast_selector"
|
||||
);
|
||||
|
||||
selectorApp = child_process.spawn(selectorPath, [data]);
|
||||
selectorAppOpen = true;
|
||||
|
||||
if (selectorApp.stdout) {
|
||||
selectorApp.stdout.setEncoding("utf-8");
|
||||
selectorApp.stdout.on("data", data => {
|
||||
const jsonData = JSON.parse(data);
|
||||
|
||||
if (!jsonData.mediaType) {
|
||||
sendMessage({
|
||||
subject: "main:receiverSelector/stopped",
|
||||
data: jsonData
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
subject: "main:receiverSelector/selected",
|
||||
data: jsonData
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
selectorApp.on("error", err => {
|
||||
sendMessage({
|
||||
subject: "main:receiverSelector/error",
|
||||
data: err.message
|
||||
});
|
||||
});
|
||||
|
||||
selectorApp.on("close", () => {
|
||||
if (selectorAppOpen) {
|
||||
selectorAppOpen = false;
|
||||
|
||||
sendMessage({
|
||||
subject: "main:receiverSelector/cancelled"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function stopReceiverSelector() {
|
||||
if (!selectorApp?.killed) {
|
||||
selectorApp?.kill();
|
||||
selectorAppOpen = false;
|
||||
}
|
||||
}
|
||||
@@ -6,17 +6,12 @@ import { Message } from "./messaging";
|
||||
import { handleCastMessage } from "./components/cast";
|
||||
import { startDiscovery, stopDiscovery } from "./components/discovery";
|
||||
import { startMediaServer, stopMediaServer } from "./components/mediaServer";
|
||||
import {
|
||||
startReceiverSelector,
|
||||
stopReceiverSelector
|
||||
} from "./components/receiverSelector";
|
||||
|
||||
import { __applicationName, __applicationVersion } from "../../package.json";
|
||||
|
||||
process.on("SIGTERM", () => {
|
||||
stopDiscovery();
|
||||
stopMediaServer();
|
||||
stopReceiverSelector();
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -39,16 +34,6 @@ decodeTransform.on("data", (message: Message) => {
|
||||
break;
|
||||
}
|
||||
|
||||
// Receiver selector
|
||||
case "bridge:openReceiverSelector": {
|
||||
startReceiverSelector(message.data);
|
||||
break;
|
||||
}
|
||||
case "bridge:closeReceiverSelector": {
|
||||
stopReceiverSelector();
|
||||
break;
|
||||
}
|
||||
|
||||
// Media server
|
||||
case "bridge:startMediaServer": {
|
||||
const { filePath, port } = message.data;
|
||||
|
||||
@@ -9,11 +9,7 @@ import {
|
||||
Volume
|
||||
} from "./components/cast/types";
|
||||
|
||||
import {
|
||||
ReceiverDevice,
|
||||
ReceiverSelectionCast,
|
||||
ReceiverSelectionStop
|
||||
} from "./types";
|
||||
import { ReceiverDevice } from "./types";
|
||||
|
||||
interface CastSessionUpdated {
|
||||
sessionId: string;
|
||||
@@ -69,23 +65,17 @@ type MessageDefinitions = {
|
||||
};
|
||||
"bridge:stopCastApp": { receiverDevice: ReceiverDevice };
|
||||
|
||||
// Bridge messages
|
||||
"main:receiverSelector/selected": ReceiverSelectionCast;
|
||||
"main:receiverSelector/stopped": ReceiverSelectionStop;
|
||||
"main:receiverSelector/cancelled": {};
|
||||
"main:receiverSelector/error": string;
|
||||
|
||||
/**
|
||||
* getInfo uses the old :/ form for compat with old bridge
|
||||
* versions.
|
||||
*/
|
||||
"bridge:getInfo": string;
|
||||
"bridge:/getInfo": string;
|
||||
|
||||
"bridge:startDiscovery": {
|
||||
shouldWatchStatus: boolean;
|
||||
};
|
||||
"bridge:openReceiverSelector": string;
|
||||
"bridge:closeReceiverSelector": {};
|
||||
|
||||
"bridge:startMediaServer": {
|
||||
filePath: string;
|
||||
port: number;
|
||||
@@ -98,13 +88,8 @@ type MessageDefinitions = {
|
||||
};
|
||||
"mediaCast:mediaServerStopped": {};
|
||||
"mediaCast:mediaServerError": {};
|
||||
"main:serviceUp": ReceiverDevice;
|
||||
"main:serviceDown": { id: string };
|
||||
"main:updateReceiverStatus": {
|
||||
id: string;
|
||||
status: ReceiverStatus;
|
||||
};
|
||||
"main:receiverDeviceUp": { deviceId: string, deviceInfo: ReceiverDevice };
|
||||
|
||||
"main:receiverDeviceUp": { deviceId: string; deviceInfo: ReceiverDevice };
|
||||
"main:receiverDeviceDown": { deviceId: string };
|
||||
"main:receiverDeviceStatusUpdated": {
|
||||
deviceId: string;
|
||||
|
||||
@@ -2,30 +2,6 @@
|
||||
|
||||
import { ReceiverStatus } from "./components/cast/types";
|
||||
|
||||
export enum ReceiverSelectorMediaType {
|
||||
App = 1,
|
||||
Tab = 2,
|
||||
Screen = 4,
|
||||
File = 8
|
||||
}
|
||||
|
||||
export enum ReceiverSelectionActionType {
|
||||
Cast = 1,
|
||||
Stop = 2
|
||||
}
|
||||
|
||||
export interface ReceiverSelectionCast {
|
||||
actionType: ReceiverSelectionActionType.Cast;
|
||||
receiver: ReceiverDevice;
|
||||
mediaType: ReceiverSelectorMediaType;
|
||||
filePath?: string;
|
||||
}
|
||||
|
||||
export interface ReceiverSelectionStop {
|
||||
actionType: ReceiverSelectionActionType.Stop;
|
||||
receiver: ReceiverDevice;
|
||||
}
|
||||
|
||||
export interface ReceiverDevice {
|
||||
host: string;
|
||||
friendlyName: string;
|
||||
|
||||
@@ -276,18 +276,6 @@
|
||||
"message": "Auswahloberfläche für Empfängergeräte."
|
||||
, "description": "Options page receiver selector category description."
|
||||
}
|
||||
, "optionsReceiverSelectorType": {
|
||||
"message": "Art:"
|
||||
, "description": "Receiver selector type option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeBrowser": {
|
||||
"message": "Browser"
|
||||
, "description": "Receiver selector type browser radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeNative": {
|
||||
"message": "Nativ"
|
||||
, "description": "Receiver selector type native radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorWaitForConnection": {
|
||||
"message": "Auf Verbindung warten"
|
||||
, "description": "Receiver selector wait for connection option checkbox label."
|
||||
|
||||
@@ -281,18 +281,6 @@
|
||||
"message": "Receiver device selection interface."
|
||||
, "description": "Options page receiver selector category description."
|
||||
}
|
||||
, "optionsReceiverSelectorType": {
|
||||
"message": "Type:"
|
||||
, "description": "Receiver selector type option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeBrowser": {
|
||||
"message": "Browser"
|
||||
, "description": "Receiver selector type browser radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeNative": {
|
||||
"message": "Native"
|
||||
, "description": "Receiver selector type native radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorWaitForConnection": {
|
||||
"message": "Wait for connection"
|
||||
, "description": "Receiver selector wait for connection option checkbox label."
|
||||
|
||||
@@ -280,18 +280,6 @@
|
||||
"message": "Interfaz de selección del dispositivo receptor."
|
||||
, "description": "Options page receiver selector category description."
|
||||
}
|
||||
, "optionsReceiverSelectorType": {
|
||||
"message": "Tipo:"
|
||||
, "description": "Receiver selector type option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeBrowser": {
|
||||
"message": "Navegador"
|
||||
, "description": "Receiver selector type browser radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeNative": {
|
||||
"message": "Nativo"
|
||||
, "description": "Receiver selector type native radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorWaitForConnection": {
|
||||
"message": "Esperar conexión"
|
||||
, "description": "Receiver selector wait for connection option checkbox label."
|
||||
|
||||
@@ -257,18 +257,6 @@
|
||||
"message": "Ontvangstapparaat selectie interface",
|
||||
"description": "Options page receiver selector category description."
|
||||
},
|
||||
"optionsReceiverSelectorType": {
|
||||
"message": "Type:",
|
||||
"description": "Receiver selector type option label."
|
||||
},
|
||||
"optionsReceiverSelectorTypeBrowser": {
|
||||
"message": "Browser",
|
||||
"description": "Receiver selector type browser radio option label."
|
||||
},
|
||||
"optionsReceiverSelectorTypeNative": {
|
||||
"message": "Ingebouwd",
|
||||
"description": "Receiver selector type native radio option label."
|
||||
},
|
||||
"optionsReceiverSelectorWaitForConnection": {
|
||||
"message": "Wachten op verbinding",
|
||||
"description": "Receiver selector wait for connection option checkbox label."
|
||||
|
||||
@@ -280,18 +280,6 @@
|
||||
"message": "Grensesnitt for valg av mottager"
|
||||
, "description": "Options page receiver selector category description."
|
||||
}
|
||||
, "optionsReceiverSelectorType": {
|
||||
"message": "Type:"
|
||||
, "description": "Receiver selector type option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeBrowser": {
|
||||
"message": "Nettleser"
|
||||
, "description": "Receiver selector type browser radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorTypeNative": {
|
||||
"message": "Native"
|
||||
, "description": "Receiver selector type native radio option label."
|
||||
}
|
||||
, "optionsReceiverSelectorWaitForConnection": {
|
||||
"message": "Vent på tilkobling"
|
||||
, "description": "Receiver selector wait for connection option checkbox label."
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
|
||||
import { ReceiverDevice } from "../../types";
|
||||
|
||||
export enum ReceiverSelectorType {
|
||||
Popup,
|
||||
Native
|
||||
}
|
||||
|
||||
export enum ReceiverSelectorMediaType {
|
||||
None = 0,
|
||||
App = 1,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
import { ReceiverSelectorType } from "./background/receiverSelector";
|
||||
import { Options } from "./lib/options";
|
||||
|
||||
export default {
|
||||
|
||||
@@ -4,7 +4,6 @@ import defaultOptions from "../defaultOptions";
|
||||
|
||||
import logger from "./logger";
|
||||
|
||||
import { ReceiverSelectorType } from "../background/receiverSelector";
|
||||
import { TypedEventTarget } from "./TypedEventTarget";
|
||||
import { TypedStorageArea } from "./TypedStorageArea";
|
||||
|
||||
|
||||
@@ -99,23 +99,17 @@ type AppMessageDefinitions = {
|
||||
};
|
||||
"bridge:stopCastApp": { receiverDevice: ReceiverDevice };
|
||||
|
||||
// Bridge messages
|
||||
"main:receiverSelector/selected": ReceiverSelectionCast;
|
||||
"main:receiverSelector/stopped": ReceiverSelectionStop;
|
||||
"main:receiverSelector/cancelled": {};
|
||||
"main:receiverSelector/error": string;
|
||||
|
||||
/**
|
||||
* getInfo uses the old :/ form for compat with old bridge
|
||||
* versions.
|
||||
*/
|
||||
"bridge:getInfo": string;
|
||||
"bridge:/getInfo": string;
|
||||
|
||||
"bridge:startDiscovery": {
|
||||
shouldWatchStatus: boolean;
|
||||
};
|
||||
"bridge:openReceiverSelector": string;
|
||||
"bridge:closeReceiverSelector": {};
|
||||
|
||||
"bridge:startMediaServer": {
|
||||
filePath: string;
|
||||
port: number;
|
||||
|
||||
Reference in New Issue
Block a user