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

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