SYNOPSIS
int call_direct_resolved(mixed result, object ob, string func, ...)
int* call_direct_resolved(mixed* result, object* ob, string func, ...)
DESCRIPTION
Similar to call_direct(). If ob->func() is defined and publicly
accessible, any of the optional extra arguments are passed to
ob->func(...). The result of that function call is stored in
result, which must be passed by reference.
This efun is a twin to call_resolved(), with the difference
being that call_direct_resolved() never calls a default method.
The efun returns 1 if the function could be called.
If ob::fun does not define a publicly accessible function, the
efun will return 0.
ob can also be an object_name. If a string is passed for ob, and
no object with that name does exist, an error occurs.
Additionally the efun accepts an array of objects as <ob>: the
function is called with the same arguments in all the given objects.
The single results are collected in two arrays, one for the result
of the function calls that will be stored in the result parameter,
and one for the efun result codes that will finally be returned from
the efun. Array elements can be objects or the names of existing
objects; destructed objects and 0s will yield a '0' as result in
both arrays, but don't cause an error.
HISTORY
Introduced in LDMud 3.3.113 with the H_DEFAULT_METHOD hook.
LDMud 3.6.2 added array calls.
SEE ALSO
call_other(E), call_strict(E), call_resolved(E), call_direct(E),
call_direct_strict(E), create(A), pragma(LPC), extern_call(E),
function_exists(E), functions(LPC), map_objects(E)
|