summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/xas/object.h9
-rw-r--r--src/object.c8
2 files changed, 13 insertions, 4 deletions
diff --git a/include/xas/object.h b/include/xas/object.h
index b8b713b..19a479a 100644
--- a/include/xas/object.h
+++ b/include/xas/object.h
@@ -7,13 +7,18 @@ 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);
+
struct _xas_object {
- xas_object_start_callback start;
- xas_object_stop_callback stop;
+ xas_object_start_callback start;
+ xas_object_stop_callback stop;
+ xas_object_set_gain_callback set_gain;
};
int xas_object_start(xas_object *object);
int xas_object_stop(xas_object *object);
+int xas_object_set_gain(xas_object *object, float gain);
+
#endif /* _XAS_OBJECT_H */
diff --git a/src/object.c b/src/object.c
index 55ea4af..f97deca 100644
--- a/src/object.c
+++ b/src/object.c
@@ -1,9 +1,13 @@
#include <xas/object.h>
int xas_object_start(xas_object *object) {
- object->start(object);
+ return object->start(object);
}
int xas_object_stop(xas_object *object) {
- object->stop(object);
+ return object->stop(object);
+}
+
+int xas_object_set_gain(xas_object *object, float gain) {
+ return object->set_gain(object, gain);
}