factor/library/cocoa/callback.factor

30 lines
639 B
Factor
Raw Normal View History

IN: objc-FactorCallback
DEFER: FactorCallback
IN: cocoa
USING: hashtables kernel namespaces objc objc-NSObject ;
SYMBOL: callbacks
2006-05-22 23:46:36 -04:00
: reset-callbacks ( -- )
H{ } clone callbacks set-global ;
reset-callbacks
"NSObject" "FactorCallback" {
{ "perform:" "void" { "id" "SEL" "id" }
2006-05-18 22:01:38 -04:00
[ 2drop callbacks get hash call ]
}
{ "dealloc" "void" { "id" "SEL" }
[
drop
dup callbacks get remove-hash
SUPER-> [dealloc]
]
}
} { } define-objc-class
: <FactorCallback> ( quot -- id | quot: id -- )
FactorCallback [alloc] [init]
[ callbacks get set-hash ] keep ;