add NOWARN_SIZEOF_POINTER_MEMACCESS
[AROS.git] / rom / oop / private.h
blob824387f32136c4a3a64625813f9af1cef4f782de
1 #ifndef PRIVATE_H
2 #define PRIVATE_H
3 /*
4 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
5 $Id$
7 Desc: Private methods and attrs
8 Lang: english
9 */
11 #ifndef OOP_OOP_H
12 # include <oop/oop.h>
13 #endif
15 #ifndef EXEC_LIBRARIES_H
16 # include <exec/libraries.h>
17 #endif
19 /**********************
20 ** Private methods **
21 **********************/
23 enum
25 MO_meta_allocdisptabs,
26 MO_meta_freedisptabs,
27 MO_meta_iterateifs,
28 MO_meta_findmethod,
29 MO_meta_findinterface,
30 MO_meta_getifinfo,
32 NUMTOTAL_M_Meta
36 struct P_meta_allocdisptabs
38 OOP_MethodID mid;
39 /* The superclass of the created class */
40 OOP_Class *superclass;
42 /* interface descruption table */
43 const struct OOP_InterfaceDescr *ifdescr;
47 struct P_meta_freedisptabs
49 OOP_MethodID mid;
53 struct P_meta_iterateifs
55 OOP_MethodID mid;
56 IPTR *iterval_ptr;
57 CONST_STRPTR *interface_id_ptr;
58 ULONG *num_methods_ptr;
61 struct P_meta_findmethod
63 OOP_MethodID mid;
64 OOP_MethodID method_to_find;
68 struct P_meta_getifinfo
70 OOP_MethodID mid;
71 CONST_STRPTR interface_id;
72 ULONG *num_methods_ptr;
77 BOOL meta_allocdisptabs(OOP_Object *o, OOP_Class *super, struct OOP_InterfaceDescr *ifdescr);
78 VOID meta_freedisptabs(OOP_Object *o);
79 struct IFMethod *meta_iterateifs(
80 OOP_Object *o
81 ,IPTR *iterval_ptr
82 ,CONST_STRPTR *interface_id_ptr
83 ,ULONG *num_methods_ptr);
85 struct IFMethod *meta_findmethod(OOP_Object *o, OOP_MethodID method_to_find, struct Library *OOPBase);
87 struct IFMethod * meta_getifinfo(OOP_Object *o, CONST_STRPTR interface_id, ULONG *num_methods_ptr);
90 /********************
91 ** Private attrs **
92 ********************/
95 #endif /* PRIVATE_H */