On 29-Aug-06, at 4:25 PM, Jaime Cham wrote:
> 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?
>
I can see how this would be useful. It probably belongs to Signal,
not Async. Could you please submit a ticket asking to include this,
and attach your code as a .js file?
Thanks!
Beau
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
"MochiKit" group.
To post to this group, send email to mochikit@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/mochikit
-~--~~~~--~~--~--~---