Move implementation of auto-updater on OS X to another file
This commit is contained in:
parent
85c84a0eb0
commit
d74ef5c078
3 changed files with 28 additions and 25 deletions
|
@ -1,25 +1,7 @@
|
||||||
if process.platform is 'win32'
|
switch process.platform
|
||||||
|
when 'win32'
|
||||||
module.exports = require './auto-updater/auto-updater-win'
|
module.exports = require './auto-updater/auto-updater-win'
|
||||||
return
|
when 'darwin'
|
||||||
|
module.exports = require './auto-updater/auto-updater-mac'
|
||||||
# Implementation on OS X.
|
else
|
||||||
autoUpdater = process.atomBinding('auto_updater').autoUpdater
|
throw new Error('auto-updater is not implemented on this platform')
|
||||||
EventEmitter = require('events').EventEmitter
|
|
||||||
|
|
||||||
autoUpdater.__proto__ = EventEmitter.prototype
|
|
||||||
|
|
||||||
autoUpdater.quitAndInstall = ->
|
|
||||||
# If we don't have any window then quitAndInstall immediately.
|
|
||||||
BrowserWindow = require 'browser-window'
|
|
||||||
windows = BrowserWindow.getAllWindows()
|
|
||||||
if windows.length is 0
|
|
||||||
@_quitAndInstall()
|
|
||||||
return
|
|
||||||
|
|
||||||
# Do the restart after all windows have been closed.
|
|
||||||
app = require 'app'
|
|
||||||
app.removeAllListeners 'window-all-closed'
|
|
||||||
app.once 'window-all-closed', @_quitAndInstall.bind(this)
|
|
||||||
win.close() for win in windows
|
|
||||||
|
|
||||||
module.exports = autoUpdater
|
|
||||||
|
|
20
atom/browser/api/lib/auto-updater/auto-updater-mac.coffee
Normal file
20
atom/browser/api/lib/auto-updater/auto-updater-mac.coffee
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{EventEmitter} = require 'events'
|
||||||
|
{autoUpdater} = process.atomBinding 'auto_updater'
|
||||||
|
|
||||||
|
autoUpdater.__proto__ = EventEmitter.prototype
|
||||||
|
|
||||||
|
autoUpdater.quitAndInstall = ->
|
||||||
|
# If we don't have any window then quitAndInstall immediately.
|
||||||
|
BrowserWindow = require 'browser-window'
|
||||||
|
windows = BrowserWindow.getAllWindows()
|
||||||
|
if windows.length is 0
|
||||||
|
@_quitAndInstall()
|
||||||
|
return
|
||||||
|
|
||||||
|
# Do the restart after all windows have been closed.
|
||||||
|
app = require 'app'
|
||||||
|
app.removeAllListeners 'window-all-closed'
|
||||||
|
app.once 'window-all-closed', @_quitAndInstall.bind(this)
|
||||||
|
win.close() for win in windows
|
||||||
|
|
||||||
|
module.exports = autoUpdater
|
|
@ -11,6 +11,7 @@
|
||||||
'atom/browser/api/lib/app.coffee',
|
'atom/browser/api/lib/app.coffee',
|
||||||
'atom/browser/api/lib/atom-delegate.coffee',
|
'atom/browser/api/lib/atom-delegate.coffee',
|
||||||
'atom/browser/api/lib/auto-updater.coffee',
|
'atom/browser/api/lib/auto-updater.coffee',
|
||||||
|
'atom/browser/api/lib/auto-updater/auto-updater-mac.coffee',
|
||||||
'atom/browser/api/lib/auto-updater/auto-updater-win.coffee',
|
'atom/browser/api/lib/auto-updater/auto-updater-win.coffee',
|
||||||
'atom/browser/api/lib/auto-updater/squirrel-update-win.coffee',
|
'atom/browser/api/lib/auto-updater/squirrel-update-win.coffee',
|
||||||
'atom/browser/api/lib/browser-window.coffee',
|
'atom/browser/api/lib/browser-window.coffee',
|
||||||
|
|
Loading…
Reference in a new issue