Editor.Ipc

Methods

Editor.Ipc.cancelRequest (sessionID)

Cancel request sent to main or renderer process.

Editor.Ipc.option (opts)

Ipc option used in Editor.Ipc.sendToAll.

Editor.Ipc.sendToAll (message[, ...args, option])

Send message with ...args to all opened window and to main process asynchronously.

Editor.Ipc.sendToMain (message[, ...args, callback, timeout])

Send message with ...args to main process asynchronously. It is possible to add a callback as the last or the 2nd last argument to receive replies from the IPC receiver.

Example:

Send IPC message (main process)

Editor.Ipc.sendToMain('foobar:say-hello', err => {
  if ( err.code === 'ETIMEOUT' ) {
    console.error('Timeout for ipc message foobar:say-hello');
    return;
  }

  console.log('foobar replied');
});

Receive and Reply IPC message (main process)

require('ipc').on('foobar:say-hello', event => {
  event.reply('Hi');
});

Editor.Ipc.sendToMainWin (message[, ...args])

Send message with ...args to the main window asynchronously.

Editor.Ipc.sendToPanel (panelID, message[, ...args, callback, timeout])

Send message with ...args to panel defined in renderer process asynchronously. It is possible to add a callback as the last or the 2nd last argument to receive replies from the IPC receiver.

Example:

Send IPC message (main process)

Editor.Ipc.sendToPanel('foobar', 'foobar:say-hello', err => {
  if ( err.code === 'ETIMEOUT' ) {
    console.error('Timeout for ipc message foobar:say-hello');
    return;
  }

  console.log('foobar replied');
});

Receive and Reply IPC message (renderer process)

Editor.Panel.extend({
  messages: {
    'foobar:say-hello' (event) {
      event.reply('Hi');
    }
  }
});

Editor.Ipc.sendToWins (message[, ...args])

Send message with ...args to all opened windows asynchronously. The renderer process can handle it by listening to the message through the Electron.ipcRenderer module.

Example:

Send IPC message (main process)

Editor.Ipc.sendToWins('foobar:say-hello', 'Hello World!');

Receive IPC message (renderer process)

<html>
  <body>
    <script>
      require('ipc').on('foobar:say-hello', (event, text) => {
        console.log(text);  // Prints "Hello World!"
      });
    </script>
  </body>
</html>