2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
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 /******************************************************************************
16 #include <intuition/classusr.h>
17 #include <proto/intuition.h>
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.
31 obj - The object on which the method is to be performed.
32 message - The message. The first field is the same for all methods and
33 specifies which method is to be invoked (see
34 <intuition/classusr.h>).
37 Class and method dependent. See the class documentation. A value of 0
38 can be a valid return code but can also mean that a method is not
48 NewObjectA(), SetAttrsA(), GetAttr(), DisposeObject(), CoerceMethodA(),
49 DoSuperMethodA(), <intuition/classusr.h>
51 ******************************************************************************/
53 ASSERT_VALID_PTR(obj
);
58 ASSERT_VALID_PTR(OCLASS(obj
));
59 ASSERT_VALID_PTR(message
);
61 return CALLHOOKPKT((struct Hook
*) OCLASS(obj
), obj
, message
);
64 IPTR
DoMethod (Object
* obj
, IPTR MethodID
, ...)
66 ASSERT_VALID_PTR(obj
);
70 ASSERT_VALID_PTR(OCLASS(obj
));
72 AROS_SLOWSTACKMETHODS_PRE(MethodID
)
73 retval
= CALLHOOKPKT((struct Hook
*) OCLASS(obj
), obj
, AROS_SLOWSTACKMETHODS_ARG(MethodID
));
74 AROS_SLOWSTACKMETHODS_POST