Author: bklaas
Date: Tue Jan 15 13:26:42 2008
New Revision: 1448
URL: http://svn.slimdevices.com?rev=1448&root=Jive&view=rev
Log:
Bug: 5806
Description: strip out all firmware update code from SlimBrowser and put it in
SetupFirmwareUpgradeMeta
Modified:
trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
trunk/jive/src/pkg/jive_squeezeboxjive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
Modified:
trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL:
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=1448&root=Jive&r1=1447&r2=1448&view=diff
==============================================================================
--- trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
(original)
+++ trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua Tue
Jan 15 13:26:42 2008
@@ -700,36 +700,6 @@
else
log:error(err)
- end
-end
-
--- _firmwareSink
--- returns a sink with a closure to self
--- cmd is passed so we know what process function to call
--- this sink receives notifications of new Jive firmware available
-local function _firmwareSink(self, cmd)
- return function(chunk, err)
- log:info("FIRMWARE SINK")
- if err then
- log:warn(err)
- return
- end
-
- local _data = chunk.data
- if _data and _data.firmwareUpgrade and
tonumber(_data.firmwareUpgrade) == 1 then
- -- time to make the donuts
- log:warn("New firmware detected!")
- local fwApplet =
AppletManager:loadApplet("SetupFirmwareUpgrade")
- if fwApplet then
- fwApplet:forceUpgrade(_data.firmwareUrl)
- -- you've gotten the fw upgrade notice, so quit
requesting it
- if _server and _player then
- log:warn("unsubscribing from
firmwarestatus")
-
_server.comet:unsubscribe('/slim/firmwarestatus/' .. _player.id)
- end
- end
- return
- end
end
end
@@ -1824,23 +1794,6 @@
_server = player:getSlimServer()
_string = function(token) return self:string(token) end
- if _player then
- local fwApplet =
AppletManager:loadApplet("SetupFirmwareUpgrade")
- -- no need to bother if we don't have the SetupFirmware applet
(e.g., when running jive_desktop)
- if fwApplet then
- log:warn('**** SUBSCRIBING to /slim/firmwarestatus/',
_player.id)
- local fwcmd = { 'firmwareupgrade', 'firmwareVersion:'
.. JIVE_VERSION, 'subscribe:3600' }
- _server.comet:subscribe(
- '/slim/firmwarestatus/' .. _player.id,
- _firmwareSink(sink, fwcmd, fwApplet),
- _player.id,
- fwcmd
- )
- end
- AppletManager:freeApplet("SetupFirmwareUpgrade")
- end
-
-
log:warn('**** SUBSCRIBING to /slim/menustatus/', _player.id)
local cmd = { 'menustatus' }
_server.comet:subscribe(
@@ -1955,10 +1908,8 @@
-- unsubscribe from this player's menustatus
log:warn("***** UNSUBSCRIBING FROM /slim/menustatus/", _player.id)
- log:warn("***** UNSUBSCRIBING FROM /slim/firmwarestatus/", _player.id)
if _server and _player then
_server.comet:unsubscribe('/slim/menustatus/' .. _player.id)
- _server.comet:unsubscribe('/slim/firmwarestatus/' .. _player.id)
end
if _player then
Modified:
trunk/jive/src/pkg/jive_squeezeboxjive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
URL:
http://svn.slimdevices.com/trunk/jive/src/pkg/jive_squeezeboxjive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua?rev=1448&root=Jive&r1=1447&r2=1448&view=diff
==============================================================================
---
trunk/jive/src/pkg/jive_squeezeboxjive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
(original)
+++
trunk/jive/src/pkg/jive_squeezeboxjive/share/applets/SetupFirmwareUpgrade/SetupFirmwareUpgradeMeta.lua
Tue Jan 15 13:26:42 2008
@@ -19,10 +19,8 @@
upgradeUrl = { false }
local upgradeUrl = upgradeUrl
-
module(...)
oo.class(_M, AppletMeta)
-
function jiveVersion(meta)
return 1, 1
@@ -41,6 +39,7 @@
-- do this in a closure
local firmwareUpgradeSink =
function(chunk, err)
+ log:warn("FIRMWARE SINK")
if err then
log:warn(err)
return
@@ -53,31 +52,54 @@
-- are we forcing an upgrade
if tonumber(chunk.data.firmwareUpgrade) == 1 then
+ log:warn("New Firmware Available")
local applet =
appletManager:loadApplet("SetupFirmwareUpgrade")
- applet:forceUpgrade()
+ applet:forceUpgrade(upgradeUrl[1])
+ --FIXME, the unsubscriptions do not work
+ if player then
+ log:warn("Unsubscribing from
/slim/firmwarestatus/", player.id)
+
player.slimServer.comet:unsubscribe('/slim/firmwarestatus/' .. player.id)
+ end
+ if self and self.player then
+ log:warn("Unsubscribing from
/slim/firmwarestatus/", self.player.id)
+
self.player.slimServer.comet:unsubscribe('/slim/firmwarestatus/' ..
self.player.id)
+ end
+ else
+ log:warn("no new firmware needed")
end
- -- FIXME allow for applet install/upgrade here
end
local monitor = {
notify_playerCurrent =
function(self, player)
log:warn("PLAYER CURRENT!!")
+ --FIXME, the unsubscription does not work
+ if self.player and player and self.player ~=
player then
+ log:warn("Unsubscribing from
/slim/firmwarestatus/", self.player.id)
+
self.player.slimServer.comet:unsubscribe('/slim/firmwarestatus/' ..
self.player.id)
+ end
- local cmd = { 'firmwareupgrade',
'firmwareVersion:' .. JIVE_VERSION }
- -- FIXME send to slimserver installed applets
and versions
-
- if( player) then
-
player.slimServer.comet:request(firmwareUpgradeSink,
- player:getId(),
- cmd
- )
+ if player then
+ local fwcmd = { 'firmwareupgrade',
'firmwareVersion:' .. JIVE_VERSION, 'subscribe:3600' }
+ player.slimServer.comet:subscribe(
+ '/slim/firmwarestatus/' ..
player.id,
+ firmwareUpgradeSink,
+ player.id,
+ fwcmd
+ )
+ end
+ end,
+ notify_playerDisconnect =
+ function(self,player)
+ if player then
+
player.slimServer.comet:unsubscribe('/slim/firmwarestatus/' .. player.id)
end
end
}
jnt:subscribe(monitor)
+
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins