gstreamer/test/cothreads/object.h

31 lines
684 B
C
Raw Normal View History

#ifndef __OBJECT_H__
#define __OBJECT_H__
#include "cothreads.h"
#define OBJECT(obj) ((object*)(obj))
typedef struct _object object;
typedef void (*object_loopfunc)(object *obj);
struct _object {
cothread_state *threadstate;
object_loopfunc loopfunc;
char *name;
object *peer;
void *pen;
};
void object_init(object *obj,char *name,cothread_context *ctx);
object *object_create(char *name,cothread_context *ctx);
void object_setloopfunc(object *obj,object_loopfunc func);
void object_setpeer(object *obj,object *peer);
void object_push(object *obj,char *buf);
char *object_pull(object *obj);
int object_loop_function(int argc,char **argv);
#endif /* __OBJECT_H__ */