30 #define DISABLE_DEBUGLOG
32 #include "inherit_p.h"
33 #include <gwenhywfar/misc.h>
34 #include <gwenhywfar/debug.h>
35 #include <gwenhywfar/gwenhywfarapi.h>
55 d->typeName=strdup(t);
59 d->freeDataFn=freeDataFn;
62 "Created inheritance for type \"%s\" (%08x)", t,
id);
71 d->freeDataFn(d->baseData, d->data);
83 "Freeing data for type \"%s\"",
86 d->freeDataFn(d->baseData, d->data);
126 return d->freeDataFn;
139 for (i=0; i<j; i++) {
144 c=((result>>24)&0xff);
146 result^=(
unsigned char)(typeName[i]);
150 "Id for type \"%s\" is \"%08x\"",
165 "Searching for inheritance id \"%08x\"",
id);
169 "Checking type \"%s\" (%08x) against %08x",
170 ih->typeName, ih->id,
id);
177 "Type \"%08x\" not derived from this base type",
id);
195 ih->typeName, ih->id,
id);
202 "Type \"%08x\" not derived from this base type",
id);
#define GWEN_FREE_OBJECT(varname)
GWEN_INHERITDATA * GWEN_InheritData_List_Next(const GWEN_INHERITDATA *element)
#define DBG_VERBOUS(dbg_logger, format, args...)
#define DBG_WARN(dbg_logger, format, args...)
uint32_t GWEN_Inherit_MakeId(const char *typeName)
void GWENHYWFAR_CB(* GWEN_INHERIT_FREEDATAFN)(void *baseData, void *data)
GWEN_INHERITDATA * GWEN_InheritData_List_First(const GWEN_INHERITDATA_LIST *l)
void * GWEN_Inherit_FindData(GWEN_INHERITDATA_LIST *l, uint32_t id, int wantCreate)
#define GWEN_NEW_OBJECT(typ, varname)
void GWEN_InheritData_free(GWEN_INHERITDATA *d)
void * GWEN_InheritData_GetData(const GWEN_INHERITDATA *d)
struct GWEN_INHERITDATA GWEN_INHERITDATA
GWEN_INHERIT_FREEDATAFN GWEN_InheritData_GetFreeDataFn(const GWEN_INHERITDATA *d)
uint32_t GWEN_InheritData_GetId(const GWEN_INHERITDATA *d)
void GWEN_InheritData_clear(GWEN_INHERITDATA *d)
#define GWEN_LIST_INIT(t, element)
void GWEN_InheritData_freeData(GWEN_INHERITDATA *d)
const char * GWEN_InheritData_GetTypeName(const GWEN_INHERITDATA *d)
#define GWEN_LIST_FUNCTIONS(t, pr)
GWEN_INHERITDATA * GWEN_InheritData_new(const char *t, uint32_t id, void *data, void *baseData, GWEN_INHERIT_FREEDATAFN freeDataFn)
#define GWEN_LIST_FINI(t, element)
GWEN_INHERITDATA * GWEN_Inherit_FindEntry(GWEN_INHERITDATA_LIST *l, uint32_t id, int wantCreate)