EventEmitter = require('events').EventEmitter ipc = process.atomBinding('ipc') class Ipc extends EventEmitter constructor: -> process.on 'ATOM_INTERNAL_MESSAGE', (args...) => @emit args... window.addEventListener 'unload', (event) -> process.removeAllListeners 'ATOM_INTERNAL_MESSAGE' send: (args...) -> ipc.send 'ipc-message', [args...] sendSync: (args...) -> JSON.parse ipc.sendSync('ipc-message-sync', [args...]) # Discarded sendChannel: -> @send.apply this, arguments sendChannelSync: -> @sendSync.apply this, arguments module.exports = new Ipc