SYNOPSIS
int call_resolved(mixed result, object ob, string func, ...)
int* call_resolved(mixed* result, object* ob, string func, ...)
DESCRIPTION
Similar to call_other(). 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.
The efun returns 1 if the function could be called.
If ob::fun does not define a publicly accessible function, the
efun will call the H_DEFAULT_METHOD hook if set. If the hook
is not set or can't resolve the call either, the efun will return 0.
If the hook is set and can resolve the call, the efun will return -1.
Calls to the master object never use the H_DEFAULT_METHOD hook.
To force non-default calls, the efun call_direct_resolved() can
be used.
ob can also be an object_name. If a string is passed for ob
and an object with that name can't be found or loaded, 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
LDMud 3.3.113 introduced the H_DEFAULT_METHOD hook.
LDMud 3.6.2 added array calls.
SEE ALSO
call_other(E), call_strict(E), call_direct(E), call_direct_strict(E),
call_direct_resolved(E), create(A), pragma(LPC), extern_call(E),
function_exists(E), functions(LPC), map_objects(E)
|