24 lines
1004 B
JavaScript
24 lines
1004 B
JavaScript
let electronRenderer;
|
|
try {
|
|
electronRenderer = require('electron/renderer');
|
|
} catch {
|
|
electronRenderer = require('electron');
|
|
}
|
|
|
|
const { contextBridge, ipcRenderer } = electronRenderer;
|
|
|
|
contextBridge.exposeInMainWorld('dtmApi', {
|
|
listJLinks: () => ipcRenderer.invoke('jlink:list'),
|
|
listSerialPorts: () => ipcRenderer.invoke('jlink:list'),
|
|
startTest: (sessionId, config) => ipcRenderer.invoke('dtm:start', sessionId, config),
|
|
stopTest: sessionId => ipcRenderer.invoke('dtm:stop', sessionId),
|
|
getStatus: sessionId => ipcRenderer.invoke('dtm:status', sessionId),
|
|
syncSessionConfig: (sessionId, config) => ipcRenderer.invoke('dtm:sync-config', sessionId, config),
|
|
canStartSession: (sessionId, config) => ipcRenderer.invoke('dtm:can-start', sessionId, config),
|
|
onEvent: callback => {
|
|
const handler = (_, event) => callback(event);
|
|
ipcRenderer.on('dtm:event', handler);
|
|
return () => ipcRenderer.removeListener('dtm:event', handler);
|
|
},
|
|
});
|