[Gd-chatter] r11089 - in trunk/libraries/network: koala/sources/examples/buddha web-framework xmpp-bot
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Wed Dec 20 22:48:06 CET 2006
Author: hannes
Date: Wed Dec 20 22:48:04 2006
New Revision: 11089
Modified:
trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
trunk/libraries/network/web-framework/library.dylan
trunk/libraries/network/web-framework/users.dylan
trunk/libraries/network/xmpp-bot/xmpp-bot.dylan
Log:
Bug: 7257
*removed senseless locking
*set user to correct username
Modified: trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan (original)
+++ trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan Wed Dec 20 22:48:04 2006
@@ -62,6 +62,7 @@
return();
end;
dynamic-bind(*user* = storage(<user>)[auth.head])
+ set-current-user(*user*);
good? := #t;
if (request.request-method = #"get")
respond-to-get(?#"name", request, response)
Modified: trunk/libraries/network/web-framework/library.dylan
==============================================================================
--- trunk/libraries/network/web-framework/library.dylan (original)
+++ trunk/libraries/network/web-framework/library.dylan Wed Dec 20 22:48:04 2006
@@ -110,6 +110,7 @@
access-level,
access-level-setter,
current-user,
+ set-current-user,
login,
logged-in?,
valid-user?;
Modified: trunk/libraries/network/web-framework/users.dylan
==============================================================================
--- trunk/libraries/network/web-framework/users.dylan (original)
+++ trunk/libraries/network/web-framework/users.dylan Wed Dec 20 22:48:04 2006
@@ -38,6 +38,9 @@
*user*
end;
+define method set-current-user (user :: <user>) => (user :: <user>)
+ *user* := user;
+end;
define method check (user :: <user>, #key test-result = 0)
=> (res :: <boolean>)
if (element(storage(<user>), user.username, default: #f))
Modified: trunk/libraries/network/xmpp-bot/xmpp-bot.dylan
==============================================================================
--- trunk/libraries/network/xmpp-bot/xmpp-bot.dylan (original)
+++ trunk/libraries/network/xmpp-bot/xmpp-bot.dylan Wed Dec 20 22:48:04 2006
@@ -40,20 +40,18 @@
send(xmpp-bot.client, make(<iq>, type: #"get", query: with-xml() query(xmlns => "jabber:iq:roster") end, id: "roster"));
end;
-define constant $lock = make(<lock>);
define method auto-subscriber (xmpp-bot, client, presence)
- with-lock($lock)
- if (presence.type)
- select (presence.type)
- #"subscribe" => begin
- send(client, make(<presence>,
- to: presence.from,
- type: #"subscribed"));
- send(client, make(<presence>,
- to: presence.from,
- type: #"subscribe"));
- end;
- #"unsubscribe" =>
+ if (presence.type)
+ select (presence.type)
+ #"subscribe" => begin
+ send(client, make(<presence>,
+ to: presence.from,
+ type: #"subscribed"));
+ send(client, make(<presence>,
+ to: presence.from,
+ type: #"subscribe"));
+ end;
+ #"unsubscribe" =>
begin
send(client, make(<presence>,
to: presence.from,
@@ -68,33 +66,30 @@
as(<string>, presence.from),
test: subsequence-position);
end;
- #"unavailable" => begin
- format-out("%s went offline\n", as(<string>, presence.from));
- xmpp-bot.online-users := remove!(xmpp-bot.online-users,
- as(<string>, presence.from),
- test: \=);
- end;
- otherwise => begin
- format-out("Didn't know what to do with type %=\n", presence.type);
- end;
- end select;
- else
- unless (any?(method(a) a = as(<string>, presence.from) end, xmpp-bot.online-users))
- xmpp-bot.online-users := add!(xmpp-bot.online-users, as(<string>, presence.from));
- end;
+ #"unavailable" => begin
+ format-out("%s went offline\n", as(<string>, presence.from));
+ xmpp-bot.online-users := remove!(xmpp-bot.online-users,
+ as(<string>, presence.from),
+ test: \=);
+ end;
+ otherwise => begin
+ format-out("Didn't know what to do with type %=\n", presence.type);
+ end;
+ end select;
+ else
+ unless (any?(method(a) a = as(<string>, presence.from) end, xmpp-bot.online-users))
+ xmpp-bot.online-users := add!(xmpp-bot.online-users, as(<string>, presence.from));
end;
end;
end;
define method broadcast-message (bot :: <xmpp-bot>, message :: type-union(<string>, <element>))
- with-lock($lock)
- do(method (user)
- send(bot.client,
- make(<message>,
- type: #"chat",
- body: message,
- to: user));
- end, bot.online-users);
- end;
+ do(method (user)
+ send(bot.client,
+ make(<message>,
+ type: #"chat",
+ body: message,
+ to: user));
+ end, bot.online-users);
end;
More information about the chatter
mailing list