
class VEXON_OBJECT
{
public:
	int id;
	int lock_count;

	bool unlock;
	bool deleted;
};

typedef void (*VEXON_OBJECT_DELETE_FUNC)(VEXON_OBJECT *);

VEXON_OBJECT *object_find(CommonList *list, int id, bool lock=false);
void object_prune(CommonList *list, VEXON_OBJECT_DELETE_FUNC deletefunc);
void object_prune_debug(CommonList *list, VEXON_OBJECT_DELETE_FUNC deletefunc);

void object_lock(VEXON_OBJECT *object);
void object_unlock(VEXON_OBJECT *object);

void object_delete(VEXON_OBJECT *object);





