--!parent
--!encoding=utf-8
--****************************************************************************
-- @file Callback Detach Class
-- @author Valentin Schmidt
-- @version 0.1
--****************************************************************************
global $
property _method
property _receiver
----------------------------------------
-- @constructor
----------------------------------------
on new (me, method, receiver)
me._method = method
me._receiver = receiver
return me
end
----------------------------------------
-- use 1 ms single-shot timeout to create a new thread
-- so scripting errors in callbacks don't fail silently
----------------------------------------
on _detach (me, res)
$.detacher.detach(#_call, me, res)
end
----------------------------------------
-- we are detached from original thread, now handle signal
----------------------------------------
on _call (me, res)
call(me._method, me._receiver, res)
end