#include #include #include int xas_object_start(xas_object *object, size_t index) { if (object->table->start == NULL) { errno = ENOSYS; return -1; } return object->table->start(object, index); } int xas_object_stop(xas_object *object, size_t index) { if (object->table->stop == NULL) { errno = ENOSYS; return -1; } return object->table->stop(object, index); } int xas_object_set_type(xas_object *object, int type) { if (object->table->set_type == NULL) { errno = ENOSYS; return -1; } return object->table->set_type(object, type); } int xas_object_set_gain(xas_object *object, float gain) { if (object->table->set_gain == NULL) { errno = ENOSYS; return -1; } return object->table->set_gain(object, gain); } int xas_object_set_entry(xas_object *object, size_t index, size_t entry) { if (object->table->set_entry == NULL) { errno = ENOSYS; return -1; } return object->table->set_entry(object, index, entry); } int xas_object_set_freq(xas_object *object, size_t freq) { if (object->table->set_freq == NULL) { errno = ENOSYS; return -1; } return object->table->set_freq(object, freq); } int xas_object_set_flags(xas_object *object, int flags) { if (object->table->set_flags == NULL) { errno = ENOSYS; return -1; } return object->table->set_flags(object, flags); } int xas_object_set_point(xas_object *object, xas_object_coord point) { if (object->table->set_point == NULL) { errno = ENOSYS; return -1; } return object->table->set_point(object, point); } int xas_object_set_heading(xas_object *object, xas_object_coord heading) { if (object->table->set_heading == NULL) { errno = ENOSYS; return -1; } return object->table->set_heading(object, heading); } int xas_object_set_speed(xas_object *object, float speed) { if (object->table->set_speed == NULL) { errno = ENOSYS; return -1; } return object->table->set_speed(object, speed); } xas_audio_stream *xas_object_stream_new(xas_object *object) { if (object->table->stream_new == NULL) { errno = ENOSYS; return NULL; } return object->table->stream_new(object); } void xas_object_destroy(xas_object *object) { if (object->table->destroy) { object->table->destroy(object); } }