revert between 56095 -> 55830 in arch
[AROS.git] / rom / oop / getattr.c
blobd681742169cd18ecc8ccddbf888ea99ab6f58f62
1 /*
2 Copyright © 1995-2018, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Get an attribute of an object.
6 Lang: english
7 */
8 #include <exec/lists.h>
9 #include <proto/exec.h>
10 #include "intern.h"
11 #include <aros/debug.h>
12 #include <oop/static_mid.h>
14 /*****************************************************************************
16 NAME */
17 #include <proto/oop.h>
19 AROS_LH3(IPTR, OOP_GetAttr,
21 /* SYNOPSIS */
22 AROS_LHA(OOP_Object *, object, A0),
23 AROS_LHA(OOP_AttrID , attrID, A1),
24 AROS_LHA(IPTR *, storage, A2),
26 /* LOCATION */
27 struct Library *, OOPBase, 16, OOP)
29 /* FUNCTION
30 Gets the specifed attribute from the object,
31 and puts it into storage.
33 INPUTS
34 object - pointer to object from which we want to
35 get an attribute.
37 attrID - Attribute ID for property to get.
39 storage - Pointer to IPTR the fetched data should be put into.
41 RESULT
42 Undefined.
44 NOTES
46 EXAMPLE
48 BUGS
50 SEE ALSO
51 OOP_SetAttrs()
53 INTERNALS
55 *****************************************************************************/
57 AROS_LIBFUNC_INIT
59 struct pRoot_Get p;
60 struct IntOOPBase *iOOPBase = (struct IntOOPBase *)OOPBase;
62 EnterFunc(bug("OOP_GetAttr())\n"));
64 if (!iOOPBase->ob_mRoot_Get)
65 iOOPBase->ob_mRoot_Get = OOP_GetMethodID(IID_Root, moRoot_Get);
68 p.mID = iOOPBase->ob_mRoot_Get;
69 p.attrID = attrID;
70 p.storage = storage;
72 /* Call the Get() method on the object */
74 ReturnPtr ("OOP_GetAttr", IPTR, OOP_DoMethod(object, (OOP_Msg)&p));
76 AROS_LIBFUNC_EXIT
77 } /* OOP_GetAttr */