|
server 0.0.1
basicserverinfrastructure
|
#include <stdarg.h>#include <stdlib.h>#include <assert.h>#include "class.h"#include "interface/class.h"
Go to the source code of this file.
Functions | |
| void * | classNew (class_ptr class,...) |
| void | classDelete (void **object) |
| void * | classClone (void *_object) |
| void* classClone | ( | void * | _object | ) |
Definition at line 42 of file class.c.
{
class_ptr class = class_getClass(_object);
void * object = calloc(1, class->object_size + sizeof(void*));
* (class_ptr *)object = class;
object += sizeof(void*);
#undef clone
CALL(object, Class, clone, _object);
return object;
}

| void classDelete | ( | void ** | object | ) |
| void* classNew | ( | class_ptr | class, |
| ... | |||
| ) |
Definition at line 15 of file class.c.
{
void * object = calloc(1, class->object_size + sizeof(void*));
va_list params;
if (class->init) class->init();
* (class_ptr *)object = class;
object += sizeof(void*);
va_start(params, class);
CALL(object, Class, ctor, ¶ms);
va_end(params);
return object;
}