Files
Electron.NET/ElectronNET.Host/api/ipc.ts
2017-10-07 01:32:19 +02:00

25 lines
753 B
TypeScript

const { ipcMain } = require('electron');
module.exports = (socket: SocketIO.Server, window) => {
socket.on('registerIpcMainChannel', (channel) => {
ipcMain.on(channel, (event, args) => {
socket.emit(channel, [event.preventDefault(), args]);
});
});
socket.on('registerOnceIpcMainChannel', (channel) => {
ipcMain.once(channel, (event, args) => {
socket.emit(channel, [event.preventDefault(), args]);
});
});
socket.on('removeAllListenersIpcMainChannel', (channel) => {
ipcMain.removeAllListeners(channel);
});
socket.on('sendToIpcRenderer', (channel, ...data) => {
if (window) {
window.webContents.send(channel, data);
}
});
}