18 lines
826 B
JavaScript
18 lines
826 B
JavaScript
import { contextBridge, ipcRenderer } from 'electron'
|
|
|
|
contextBridge.exposeInMainWorld('printAgent', {
|
|
bootstrap: () => ipcRenderer.invoke('agent:bootstrap'),
|
|
saveConfig: (patch) => ipcRenderer.invoke('agent:save-config', patch),
|
|
pair: (payload) => ipcRenderer.invoke('agent:pair', payload),
|
|
listPrinters: () => ipcRenderer.invoke('agent:list-printers'),
|
|
heartbeatNow: () => ipcRenderer.invoke('agent:heartbeat-now'),
|
|
claimNow: () => ipcRenderer.invoke('agent:claim-now'),
|
|
testPrint: () => ipcRenderer.invoke('agent:test-print'),
|
|
openExternal: (url) => ipcRenderer.invoke('agent:open-external', url),
|
|
onStateChange: (callback) => {
|
|
const listener = (_event, state) => callback(state)
|
|
ipcRenderer.on('agent:state', listener)
|
|
return () => ipcRenderer.removeListener('agent:state', listener)
|
|
}
|
|
})
|