Author: bklaas
Date: Fri Jul 9 11:43:41 2010
New Revision: 8940
URL: http://svn.slimdevices.com/jive?rev=8940&view=rev
Log:
Bug: n/a
Description: temporary hack to push user going to App Gallery to the account
registration applet
add serverLinked notification method to AccountRegistration applet
(THIS BRANCH NOT YET FOR GENERAL CONSUMPTION)
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationApplet.lua
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationMeta.lua
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=8940&r1=8939&r2=8940&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
Fri Jul 9 11:43:41 2010
@@ -781,7 +781,15 @@
-- it's very helpful at times to dump the request table here to see
what command is being issued
-- debug.dump(request)
- if not useCachedResponse then
+ -- XXX: temporary hack to push appgallery request to SN registration
applet
+ -- this needs to be changed to doing a check for
+ -- 1. if the menu item requires an SN account,
+ -- 1a. if yes, check if settings.registerDone (via service method) is
not true
+ if request[1] == 'appgallery' then
+ log:info('Redirecting request to registration applet')
+ appletManager:callService("startRegister")
+
+ elseif not useCachedResponse then
-- send the command
_server:userRequest(sink, playerid, request)
else
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationApplet.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationApplet.lua?rev=8940&r1=8939&r2=8940&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationApplet.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationApplet.lua
Fri Jul 9 11:43:41 2010
@@ -41,7 +41,6 @@
local slimServer = require("jive.slim.SlimServer")
local DNS = require("jive.net.DNS")
-local Networking = require("jive.net.Networking")
local debug = require("jive.utils.debug")
local locale = require("jive.utils.locale")
@@ -82,11 +81,26 @@
end
+function accountRegistered(self)
+ local player = appletManager:callService("getCurrentPlayer")
+ if not player then
+ log:error('No player found')
+ return false
+ end
+
+ local settings = self:getSettings()
+ return settings.registerDone and settings.registerDone[player:getId()]
+
+end
+
+
function _startRegister(self)
log:info("_startRegister")
+ local player = appletManager:callService("getCurrentPlayer")
+
local settings = self:getSettings()
- if settings.registerDone then
+ if settings.registerDone and settings.registerDone[player:getId()] then
log:info("SqueezeNetwork registration complete")
return
end
@@ -276,6 +290,54 @@
end
+function notify_serverLinked(self, server, wasAlreadyLinked)
+ log:info("notify_serverLinked: ", server)
+
+ if not server:isSqueezeNetwork() then
+ return
+ end
+
+ if not self.registerRequest then
+ return
+ end
+
+ --avoid race condition where we are in the registerRequest but for a
player that is already linked
+ if self.registerRequestRequireAlreadyLinked and not wasAlreadyLinked
then
+ return
+ end
+ log:info("server linked: ", server, " pin=", server:getPin(), "
registerRequestRequireAlreadyLinked: ",
self.registerRequestRequireAlreadyLinked, " wasAlreadyLinked: ",
wasAlreadyLinked)
+
+ if server:getPin() == false then
+ -- for testing connect the player tosqueezenetwork
+ local player = appletManager:callService("getCurrentPlayer")
+
+ local squeezenetwork = false
+ for name, server in slimServer:iterate() do
+ if server:isSqueezeNetwork() then
+ squeezenetwork = server
+ end
+ end
+
+ log:info("connecting ", player, " to ", squeezenetwork)
+ player:connectToServer(squeezenetwork)
+
+ self:registerDone(player)
+ end
+end
+
+
+function registerDone(self, player)
+ if not player then
+ return
+ end
+
+ local settings = self:getSettings()
+ settings.registerDone[player:getId()] = true
+ self:storeSettings()
+
+end
+
+
function _registerRequest(self, squeezenetwork)
if self.registerRequest then
return
@@ -292,7 +354,7 @@
appletManager:callService("squeezeNetworkRequest", { 'register', 0,
100, 'service:SN' }, true, successCallback )
self.locked = true -- don't free applet
- -- XXX: it could be that the NetworkRegistration applet needs a
notify_playerCurrent() method to deal with the registration being successful;
the subscribe right here hints at that...
+ -- XXX: this appears to be so the serverLinked notification will pick
up the successful registration when it completes
jnt:subscribe(self)
end
@@ -305,19 +367,6 @@
end
end
return squeezenetwork
-end
-
-
-function _setupDone(self, setupDone, registerDone)
- log:info("network setup complete")
-
- local settings = self:getSettings()
-
- settings.setupDone = setupDone
- self:storeSettings()
-
- -- FIXME: workaround until filesystem write issue resolved
- os.execute("sync")
end
Modified:
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationMeta.lua
URL:
http://svn.slimdevices.com/jive/7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationMeta.lua?rev=8940&r1=8939&r2=8940&view=diff
==============================================================================
---
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationMeta.lua
(original)
+++
7.6/branches/new-setup/squeezeplay/src/squeezeplay_squeezeos/share/applets/AccountRegistration/AccountRegistrationMeta.lua
Fri Jul 9 11:43:41 2010
@@ -44,7 +44,7 @@
function defaultSettings(meta)
return {
- [ "registerDone" ] = false,
+ [ "registerDone" ] = {},
}
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins