Files
2026-05-18 17:36:05 +09:00

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);
},
});