r4722@vps: verhaegs | 2007-05-06 13:11:19 -0400
[cake.git] / rom / oop / getattr.c
blob87c0dfdcb220298b2f9235de9459dbb28075bde5
1 /*
2 Copyright © 1995-2007, 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>
13 #ifndef AROS_CREATE_ROM
14 # define STATIC_MID static OOP_MethodID mid
15 #else
16 # define STATIC_MID OOP_MethodID mid = 0
17 #endif
19 /*****************************************************************************
21 NAME */
22 #include <proto/oop.h>
24 AROS_LH3(IPTR, OOP_GetAttr,
26 /* SYNOPSIS */
27 AROS_LHA(OOP_Object *, object, A0),
28 AROS_LHA(OOP_AttrID , attrID, A1),
29 AROS_LHA(IPTR *, storage, A2),
31 /* LOCATION */
32 struct Library *, OOPBase, 16, OOP)
34 /* FUNCTION
35 Gets the specifed attribute from the object,
36 and puts it into storage.
38 INPUTS
39 object - pointer to object from which we want to
40 get an attribute.
42 attrID - Attribute ID for property to get.
44 storage - Pointer to IPTR the gitten data should be put
45 into.
48 RESULT
49 Undefined.
51 NOTES
53 EXAMPLE
55 BUGS
57 SEE ALSO
58 OOP_SetAttrs().
60 INTERNALS
62 HISTORY
63 29-10-95 digulla automatically created from
64 intuition_lib.fd and clib/intuition_protos.h
66 *****************************************************************************/
68 AROS_LIBFUNC_INIT
70 struct pRoot_Get p;
71 STATIC_MID;
73 EnterFunc(bug("OOP_GetAttr())\n"));
75 if (!mid)
76 mid = OOP_GetMethodID(IID_Root, moRoot_Get);
79 p.mID = mid;
80 p.attrID = attrID;
81 p.storage = storage;
83 /* Call the Get() method on the object */
85 ReturnPtr ("OOP_GetAttr", IPTR, OOP_DoMethod(object, (OOP_Msg)&p));
87 AROS_LIBFUNC_EXIT
88 } /* OOP_GetAttr */