1
0
mirror of https://github.com/pavlobu/deskreen.git synced 2025-05-18 08:20:10 -07:00
deskreen/app/features/PeerConnection/handleSelfDestroy.ts
2022-05-31 23:35:57 +02:00

31 lines
971 B
TypeScript

import { ipcRenderer } from 'electron';
import { IpcEvents } from '../../main/IpcEvents.enum';
import NullSimplePeer from './NullSimplePeer';
import NullUser from './NullUser';
export default function handleSelfDestroy(peerConnection: PeerConnection) {
peerConnection.partner = NullUser;
ipcRenderer.invoke(
IpcEvents.DisconnectDeviceById,
peerConnection.partnerDeviceDetails.id
);
if (peerConnection.peer !== NullSimplePeer) {
peerConnection.peer.destroy();
}
if (peerConnection.localStream) {
peerConnection.localStream.getTracks().forEach((track) => {
track.stop();
});
peerConnection.localStream = null;
}
ipcRenderer.invoke(
IpcEvents.DestroySharingSessionById,
peerConnection.sharingSessionID
);
peerConnection.onDeviceConnectedCallback = () => {};
peerConnection.isCallStarted = false;
peerConnection.socket.disconnect();
ipcRenderer.invoke(IpcEvents.UnmarkRoomIDAsTaken, peerConnection.roomID);
}