home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / compiler / alib / dosupermethod.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-27  |  1.7 KB  |  70 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: dosupermethod.c,v 1.4 1997/01/27 00:16:36 ldp Exp $
  4.  
  5.     Desc:
  6.     Lang: german
  7. */
  8. #include <intuition/classes.h>
  9. #include <stdarg.h>
  10. #include "alib_intern.h"
  11.  
  12. /******************************************************************************
  13.  
  14.     NAME */
  15. #include <proto/alib.h>
  16.  
  17.     IPTR DoSuperMethodA (
  18.  
  19. /*  SYNOPSIS */
  20.     Class  * cl,
  21.     Object * obj,
  22.     Msg     message)
  23.  
  24. /*  FUNCTION
  25.     Sendet eine BOOPSI-Message an ein BOOPSI-Object als ob dieses eine
  26.     Instanz seiner SuperKlasse waere.
  27.  
  28.     INPUTS
  29.     cl - Class des Objects.
  30.     obj - Das Object, auf welches sich die Operation bezieht.
  31.     message - Die Method-Message. Das erste ULONG der Message definiert den
  32.         Typ, der Rest haengt von der Klasse ab.
  33.  
  34.     RESULT
  35.     Der Rueckgabewert haengt von der Methode ab. Bei OM_NEW ist es z.B. ein
  36.     Zeiger auf das neu generierte Object; andere Methoden verwenden andere
  37.     Ergebnis-Werte. Diese werden bei der Beschreibung der Klasse definiert
  38.     und sind dort nachzulesen.
  39.  
  40.     NOTES
  41.  
  42.     EXAMPLE
  43.  
  44.     BUGS
  45.  
  46.     SEE ALSO
  47.     NewObject(), SetAttrs(), GetAttr(), DisposeObject(), DoMethod(),
  48.     "Basic Object-Oriented Programming System for Intuition" und das
  49.     "boopsi Class Reference" Dokument.
  50.  
  51.     HISTORY
  52.     14.09.93    ada created
  53.  
  54. ******************************************************************************/
  55. {
  56.     return CallHookPkt ((struct Hook *)cl->cl_Super, obj, message);
  57. } /* DoSuperMethodA */
  58.  
  59.  
  60. ULONG DoSuperMethod (Class * cl, Object * obj, ULONG MethodID, ...)
  61. {
  62.     AROS_SLOWSTACKMETHODS_PRE(MethodID)
  63.     retval = CallHookPkt ((struct Hook *)cl->cl_Super
  64.     , obj
  65.     , AROS_SLOWSTACKMETHODS_ARG(MethodID)
  66.     );
  67.     AROS_SLOWSTACKMETHODS_POST
  68. } /* DoSuperMethod */
  69.  
  70.