-
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathpreload.js
More file actions
56 lines (46 loc) · 2.73 KB
/
Copy pathpreload.js
File metadata and controls
56 lines (46 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld('atem', {
connect: (ip) => ipcRenderer.invoke('atem:connect', ip),
disconnect: () => ipcRenderer.invoke('atem:disconnect'),
state: () => ipcRenderer.invoke('atem:state'),
search: () => ipcRenderer.invoke('atem:search'),
onUpdate: (callback) => ipcRenderer.on('atem:onupdate', callback),
onConnect: (callback) => ipcRenderer.on('atem:onconnect', callback),
onDisconnect: (callback) => ipcRenderer.on('atem:ondisconnect', callback),
})
contextBridge.exposeInMainWorld('app', {
getStore: (key) => ipcRenderer.invoke('app:store-get', key),
getUpdate: () => ipcRenderer.invoke('app:update'),
getVersion: () => ipcRenderer.invoke('app:version'),
openUrl: (url) => ipcRenderer.invoke('app:open-url', url),
setStore: (key, value) => ipcRenderer.invoke('app:store-set', key, value),
})
contextBridge.exposeInMainWorld('telemetry', {
enableTracking: () => ipcRenderer.send('telemetry:enable-tracking'),
disableTracking: () => ipcRenderer.send('telemetry:disable-tracking'),
enableAdvancedTracking: () => ipcRenderer.send('telemetry:enable-advanced-tracking'),
disableAdvancedTracking: () => ipcRenderer.send('telemetry:disable-advanced-tracking'),
trackPageView: (name) => ipcRenderer.send('telemetry:enable-tracking', name),
trackException: (ex) => ipcRenderer.send('telemetry:disable-tracking', ex),
trackEvent: (name, props) => ipcRenderer.send('telemetry:enable-advanced-tracking', name, props),
trackAdvancedEvent: (name, props) => ipcRenderer.send('telemetry:disable-advanced-tracking', name, props),
getTrackingState: () => ipcRenderer.invoke('telemetry:state'),
getUuid: () => ipcRenderer.invoke('telemetry:uuid')
})
contextBridge.exposeInMainWorld('clients', {
// onconnect: (ip) => ipcRenderer.invoke('client:connect', ip),
// ondisconnect: () => ipcRenderer.invoke('client:disconnect'),
getAvailableDevices: () => ipcRenderer.invoke('client:available'),
getSavedDevices: () => ipcRenderer.invoke('client:saved'),
save: (devId) => ipcRenderer.invoke('client:save', devId),
saveByIp: (ip) => ipcRenderer.invoke('client:save-by-ip', ip),
remove: (devId) => ipcRenderer.invoke('client:remove', devId),
enable: (devId) => ipcRenderer.invoke('client:enable', devId),
disable: (devId) => ipcRenderer.invoke('client:disable', devId),
setDeviceCamera: (devId, camera) => ipcRenderer.invoke('client:set-camera', devId, camera),
identify: (devId) => ipcRenderer.invoke('client:identify', devId),
onUpdate: (callback) => ipcRenderer.on('client:onupdate', callback),
})
contextBridge.exposeInMainWorld('network', {
list: () => ipcRenderer.invoke('network:list')
})