|
server 0.0.1
basicserverinfrastructure
|
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: