2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 #define ALIB_NO_INLINE_STDARG
8 #include <aros/debug.h>
9 #include <intuition/classes.h>
11 #include "alib_intern.h"
13 /******************************************************************************
16 #include <intuition/classusr.h>
17 #include <proto/alib.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 intuition.library/NewObjectA(), intuition.library/SetAttrsA(), intuition.library/GetAttr(),
49 intuition.library/DisposeObject(), CoerceMethodA(),
50 DoSuperMethodA(), <intuition/classusr.h>
52 ******************************************************************************/
54 ASSERT_VALID_PTR(obj
);
59 ASSERT_VALID_PTR(OCLASS(obj
));
60 ASSERT_VALID_PTR(message
);
62 return CALLHOOKPKT((struct Hook
*) OCLASS(obj
), obj
, message
);
65 IPTR
DoMethod (Object
* obj
, IPTR MethodID
, ...)
67 ASSERT_VALID_PTR(obj
);
71 ASSERT_VALID_PTR(OCLASS(obj
));
73 AROS_SLOWSTACKMETHODS_PRE(MethodID
)
74 retval
= CALLHOOKPKT((struct Hook
*) OCLASS(obj
), obj
, AROS_SLOWSTACKMETHODS_ARG(MethodID
));
75 AROS_SLOWSTACKMETHODS_POST