electron-irpc

0.0.2 • Public • Published

electron-irpc v0.0.2

npm version   Build Status

inter-process communication(IPC) and remote procedure call (RPC) combined. Makes Electron IPC work more like callbacks.

So instead of calling the main thread, it is replying back, etc. and manually keeping track of everything. This module abstracts it away where you can call functions added to IRPC in the main thread and get a callback as if it was a local function even though it's running in the main thread.

Install

To set up geoipfind on your Node.js server use npm.

npm install electron-irpc

main.js

Initially this in the main thread. Only one allowed per app, so if you want to access it outside of main.js, set it as a global or pass it to other modules in main.

var irpc = require('electron-irpc');
 
var irpcMain = irpc.main();
 
// Then within the process, you can add in functions, variables or functions/variables in the same format as modules
// Also note function names, variable names and namespaces are automatically lowercased when added and called
 
irpcMain.addFunction('hello', function(parameters, cb)
{
    cb(null, {
        msg: 'Hello, World...'
    });
});
 
irpcMain.addVariable('version', 'V9000');
 
irpcMain.addModule({
    ping: function(parameters, cb)
    {
        //callback - error, result
        cb(null, '2ms');
    },
    version: '9.0'
}, 'testModule'); //testModule is the namespace
 

renderer.js

var irpc = require('electron-irpc');
 
var irpcRenderer = irpc.renderer();
 
irpcRenderer.call('hello', {}, function(err, result)
{
    console.log(err, result);
});
 
irpcRenderer.get('version', function(err, result)
{
    console.log(err, result);
});
 
irpcRenderer.call('testModule.ping', {}, function(err, result)
{
    console.log(err, result);
});
 
irpcRenderer.get('testModule.version', function(err, result)
{
    console.log(err, result);
});

Dependents (0)

Package Sidebar

Install

npm i electron-irpc

Weekly Downloads

3

Version

0.0.2

License

BSD-2-Clause

Last publish

Collaborators

  • keverw