server 0.0.1
basicserverinfrastructure

src/class.c

Go to the documentation of this file.
00001 #include <stdarg.h>
00002 #include <stdlib.h>
00003 
00004 #include "class.h"
00005 #include "interface.h"
00006 
00007 void *
00008 class_getInterface(class_ptr * class, iface_ptr _iface)
00009 {
00010         void * iface = (void *)IFACE_GET(*class, _iface);
00011 
00012         while(NULL == iface && HAS_PARENT(*class)) {
00013                 *class = (*class)->parent;
00014                 iface = (void *)IFACE_GET(*class, _iface);
00015         }
00016 
00017         return iface;
00018 }
00019 
00020 class_ptr
00021 class_getClass(void * object)
00022 {
00023         return *(class_ptr *)(object - sizeof(void*));
00024 }
00025 
00026 // vim: set ts=4 sw=4:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines