mirror of
https://github.com/pavlobu/deskreen.git
synced 2025-05-18 08:20:10 -07:00
31 lines
971 B
TypeScript
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);
|
|
}
|