diff options
Diffstat (limited to 'mixlib')
-rw-r--r-- | mixlib/mix_vm.c | 9 | ||||
-rw-r--r-- | mixlib/mix_vm.h | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/mixlib/mix_vm.c b/mixlib/mix_vm.c index 4446bcf..9816cb5 100644 --- a/mixlib/mix_vm.c +++ b/mixlib/mix_vm.c @@ -124,6 +124,15 @@ mix_vm_connect_device (mix_vm_t *vm, mix_device_t *device) return old; } +/* get device */ +mix_device_t * +mix_vm_get_device (const mix_vm_t *vm, mix_device_type_t dev) +{ + g_return_val_if_fail (vm != NULL, NULL); + g_return_val_if_fail (dev < mix_dev_INVALID, NULL); + return vm->devices[dev]; +} + /* install a device factory for automatic connection */ void mix_vm_set_device_factory (mix_vm_t *vm, mix_device_factory_t factory) diff --git a/mixlib/mix_vm.h b/mixlib/mix_vm.h index c4663bc..a8b826e 100644 --- a/mixlib/mix_vm.h +++ b/mixlib/mix_vm.h @@ -51,6 +51,11 @@ mix_vm_delete(mix_vm_t * vm); extern mix_device_t * /* previously connected device */ mix_vm_connect_device (mix_vm_t *vm, mix_device_t *device); +/* get device */ +extern mix_device_t * +mix_vm_get_device (const mix_vm_t *vm, mix_device_type_t dev); + + /* install a device factory for automatic connection */ typedef mix_device_t * (* mix_device_factory_t) (mix_device_type_t device); extern void |