#ifndef _XAS_OBJECT_H #define _XAS_OBJECT_H #include typedef struct _xas_object xas_object; typedef int (*xas_object_start_callback)(xas_object *object); typedef int (*xas_object_stop_callback)(xas_object *object); typedef int (*xas_object_set_gain_callback)(xas_object *object, float gain); typedef xas_audio_stream *(*xas_object_stream_new_callback)(xas_object *object); typedef void (*xas_object_destroy_callback)(xas_object *object); struct _xas_object { xas_object_start_callback start; xas_object_stop_callback stop; xas_object_set_gain_callback set_gain; xas_object_stream_new_callback stream_new; xas_object_destroy_callback destroy; }; int xas_object_start(xas_object *object); int xas_object_stop(xas_object *object); int xas_object_set_gain(xas_object *object, float gain); xas_audio_stream *xas_object_stream_new(xas_object *object); void xas_object_destroy(xas_object *object); #endif /* _XAS_OBJECT_H */