windows95/src/preload.js

44 lines
872 B
JavaScript
Raw Normal View History

2018-08-23 07:03:28 +02:00
const { remote } = require('electron')
const fs = require('fs-extra')
2018-08-23 07:32:07 +02:00
const { STATE_PATH, getState, resetState } = require('./state')
2018-08-23 07:03:28 +02:00
window.windows95 = {
STATE_PATH,
2018-08-23 07:32:07 +02:00
resetState,
2018-08-23 07:25:17 +02:00
async saveState () {
2018-08-23 07:03:28 +02:00
return new Promise((resolve) => {
if (!window.emulator || !window.emulator.save_state) {
return resolve()
}
2018-08-23 07:25:17 +02:00
window.emulator.save_state(async (error, newState) => {
2018-08-23 07:03:28 +02:00
if (error) {
console.log(error)
return
}
2018-08-23 07:25:17 +02:00
await fs.outputFile(STATE_PATH, Buffer.from(newState))
2018-08-23 07:03:28 +02:00
console.log(`Saved state to ${STATE_PATH}`)
resolve()
2018-08-23 07:25:17 +02:00
})
2018-08-23 07:03:28 +02:00
})
},
2018-08-23 07:25:17 +02:00
async restoreState () {
2018-08-23 07:03:28 +02:00
try {
window.emulator.restore_state(getState())
} catch (error) {
console.log(`Could not read state file. Maybe none exists?`, error)
}
},
2018-08-23 07:25:17 +02:00
quit () {
2018-08-23 07:03:28 +02:00
remote.app.quit()
}
}