parent $utilities
object $login_watcher
var $root child_index 0
var $root owners [$login_watcher]
var $root owned [$login_watcher]
var $root fertile 0
var $root inited 1
var $root manager $login_watcher
var $root writable [$login_watcher]
var $root readable ['parameters, 'methods, 'code]
var $root dbref 'login_watcher
method notify
arg who, msg;
var watch, user, lcont, prefix;
.perms(sender(), 'this);
prefix = "[login watcher] -> ";
lcont = (who.location()).contents();
who = who.namef('titled);
for user in ($user_db.connected()) {
if (!(user in lcont)) {
watch = (| user.watch_logins() |);
if (watch && ((watch == 1) || ((type(watch) == 'list) && (who in watch))))
user.tell((((prefix + who) + " has ") + msg) + ".");
}
}
.
method did_connect
.perms($user, caller());
.notify(sender(), "connected");
.
method did_disconnect
.perms($user, caller());
.notify(sender(), "disconnected");
.