#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | _aspi_class |
Root object class structure. More... | |
struct | _aspi_object |
The root object structure. More... | |
#define | ASPI_OBJECT(x) (aspi_object_check (x, aspi_object ()), ((aspi_object_t *) x)) |
#define | ASPI_CLASS(x) (aspi_class_check (x, aspi_object ()), ((aspi_class_t * ) x)) |
typedef struct _aspi_class | aspi_class_t |
typedef struct _aspi_object | aspi_object_t |
aspi_object_t * | aspi_object_init (aspi_object_t *object) |
Root object initializer. | |
aspi_class_t * | aspi_object (void) |
Return the object class. | |
void | aspi_object_dtor (aspi_object_t *object) |
Free an object (not to be called directly). | |
aspi_object_t * | aspi_object_dup (aspi_object_t *object) |
Duplicate (in depth) an object (not to be called directly). | |
void | aspi_object_retain (aspi_object_t *object) |
Tells that the object is referenced, so it would be not cool to free it. | |
void | aspi_object_release (aspi_object_t *object) |
Tells that the object isn't referenced anymore, and maybe free it. | |
void | aspi_object_free (aspi_object_t *object) |
Free an object. | |
aspi_object_t * | aspi_object_copy (aspi_object_t *object) |
Copy an object. | |
int | aspi_object_is_a (void *object, aspi_class_t *klass) |
Tell whether an object is a xxx or not. | |
int | aspi_class_is_a (void *klass1, aspi_class_t *klass2) |
Tell whether a class is xxx or inherits it. | |
void | aspi_object_check (void *object, aspi_class_t *klass) |
Check that an object is a xxx. | |
void | aspi_class_check (void *klass1, aspi_class_t *klass2) |
Check that a class is a xxx. | |
void | aspi_class_register (aspi_class_t *klass, aspi_class_t *parent, int size, void(*dtor)(aspi_object_t *object)) |
Register a class. | |
aspi_object_t * | aspi_class_instantiate (aspi_class_t *klass) |
Alloc'er. |