It seems that it's a useful usage to disconnect all signals going TO an
object. For example, when the an object that connects itself to several
signals or events is destroyed, in order to ensure correct recovery of
the memory it would want to disconnect itself.
I use the following extra code for MochiKit.Async:
MochiKit.Base.update(MochiKit.Async, {
disconnectAllTo: function (objOrFunc, funcOrStr /* optional */) {
if (typeof(objOrFunc) != 'object') {
throw new Error("need to specify a receving object");
}
var self = MochiKit.Signal;
var observers = self._observers;
var i = 0;
while (i < observers.length) {
var ident = observers[i];
if (ident[4] == objOrFunc
&& (typeof(funcOrStr) == 'undefined'
|| ident[5] == funcOrStr)
) {
self._disconnect(ident);
observers.splice(i, 1);
}
else
i++;
}
},
});
disconnectAllTo = MochiKit.Async.disconnectAllTo;
Is there already a different way of doing this? or am I violating some
signal/slot design principle?
Jaime
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"MochiKit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/mochikit
-~----------~----~----~----~------~----~------~--~---