Don't call ReadArgs() if started from WB.
[tangerine.git] / compiler / alib / domethod.c
blobe5cbf073a95de3ca27a43c26b39ea7564db48cdf
1 /*
2 Copyright © 1995-2003, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #define INTUITION_NO_INLINE_STDARG
8 #include <aros/debug.h>
9 #include <intuition/classes.h>
10 #include <proto/alib.h>
11 #include "alib_intern.h"
13 /******************************************************************************
15 NAME */
16 #include <intuition/classusr.h>
17 #include <proto/intuition.h>
19 IPTR DoMethodA (
21 /* SYNOPSIS */
22 Object * obj,
23 Msg message)
25 /* FUNCTION
26 Invokes a method on a BOOPSI object. The dispatcher of the class, the
27 object is inherited from, is called. For more information about methods
28 a class supports, see the class documentation.
30 INPUTS
31 obj - The object, on which the method is to be performed on.
32 message - The message. The first field is the same for all methods and
33 specifies which method is to be invokes (see
34 <intuition/classusr.h>).
36 RESULT
37 Class and method depending. See the class documentation. A value of 0
38 can mean a valid return code but can also mean that a method was not
39 supported.
41 NOTES
43 EXAMPLE
45 BUGS
47 SEE ALSO
48 NewObjectA(), SetAttrsA(), GetAttr(), DisposeObject(), CoerceMethodA(),
49 DoSuperMethodA(), <intuition/classusr.h>
51 ******************************************************************************/
53 AROS_GET_SYSBASE_OK
55 ASSERT_VALID_PTR(obj);
56 if (!obj)
57 return 0L;
59 ASSERT_VALID_PTR(OCLASS(obj));
60 ASSERT_VALID_PTR(message);
62 return CALLHOOKPKT((struct Hook *) OCLASS(obj), obj, message);
63 } /* DoMethodA */
65 IPTR DoMethod (Object * obj, ULONG MethodID, ...)
67 AROS_GET_SYSBASE_OK
69 ASSERT_VALID_PTR(obj);
70 if (!obj)
71 return 0L;
73 ASSERT_VALID_PTR(OCLASS(obj));
74 return CALLHOOKPKT((struct Hook *) OCLASS(obj), obj, &MethodID);
75 } /* DoMethod() */