2012-04-30 18:59:30 +04:00
|
|
|
#ifndef __OBJECT_H__
|
|
|
|
#define __OBJECT_H__
|
|
|
|
|
2012-05-02 18:25:52 +04:00
|
|
|
typedef struct Object
|
2012-04-30 18:59:30 +04:00
|
|
|
{
|
2012-05-02 18:25:52 +04:00
|
|
|
struct Object_vtable
|
|
|
|
{
|
|
|
|
/* Object methods */
|
|
|
|
const char* (*type) ();
|
|
|
|
struct Object* (*clone) (const Object *this);
|
|
|
|
void (*destroy) (struct Object *this);
|
|
|
|
|
|
|
|
} *vtable;
|
2012-04-30 18:59:30 +04:00
|
|
|
|
2012-05-02 18:25:52 +04:00
|
|
|
} Object;
|
2012-04-30 18:59:30 +04:00
|
|
|
|
|
|
|
#endif // __OBJECT_H__
|