Newer
Older
// Copyright 2015-2019 Parity Technologies (UK) Ltd.
import { checkClockSync } from '@parity/electron';
import settings from 'electron-settings';
import Pino from '../utils/pino';
Amaury Martiny
committed
import setupParityEthereum from '../methods/setupParityEthereum';
import ipcChannel from '../ipcChannel';
/**
* Handle all asynchronous messages from renderer to main.
*/
export default async (fetherApp, event, data) => {
pino.debug(
`Received IPC message from ${data.from}, with data ${JSON.stringify(
data
)}`
);
if (!data) {
switch (data.action) {
case 'APP_RIGHT_CLICK_REQUEST': {
Luke Schoen
committed
fetherApp.contextWindowMenu.getMenu().popup({ window: fetherApp.win });
case 'CHECK_CLOCK_SYNC_REQUEST': {
const payload = await checkClockSync();
event.sender.send('send-to-renderer', {
action: 'CHECK_CLOCK_SYNC_RESPONSE',
from: 'fether:electron',
payload
});
break;
}
Amaury Martiny
committed
case 'RESTART_NODE_REQUEST': {
setupParityEthereum();
break;
}
case 'SET_LANGUAGE_REQUEST': {
event.sender.send('send-to-renderer', {
action: 'SET_LANGUAGE_RESPONSE',
from: 'fether:electron',
payload: settings.get('fether-language')
case 'RPC_REQUEST': {
if (!rpcResponsesSetUp) {
ipcChannel.on('message', data => {
event.sender.send('send-to-renderer', {
action: 'RPC_RESPONSE',
from: 'fether:electron',
payload: data
});
});
rpcResponsesSetUp = true;
}
ipcChannel.send(data.payload);