|
@@ -142,12 +142,12 @@ class Handler<T> {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- function owner( cb:T->Void ) : T->Void {
|
|
|
|
|
|
+ function owner<K>( cb:T->K ) : T->K {
|
|
var me = this;
|
|
var me = this;
|
|
return function(u:T){
|
|
return function(u:T){
|
|
if (!me.isOwner(u))
|
|
if (!me.isOwner(u))
|
|
throw ActionReservedToObjectOwner;
|
|
throw ActionReservedToObjectOwner;
|
|
- cb(u);
|
|
|
|
|
|
+ return cb(u);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -158,6 +158,13 @@ class Handler<T> {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function objectHandler( cb : T -> Handler<Dynamic>, ?lock : Bool ) {
|
|
|
|
+ var me = this;
|
|
|
|
+ return object(function(u:T) {
|
|
|
|
+ me.handler(cb(u))();
|
|
|
|
+ },lock);
|
|
|
|
+ }
|
|
|
|
+
|
|
// action declarators
|
|
// action declarators
|
|
|
|
|
|
function free( n:String, ?t:String, ?cb:Void->Void ){
|
|
function free( n:String, ?t:String, ?cb:Void->Void ){
|