diff options
author | Michal Ratajsky <[email protected]> | 2014-05-24 21:01:21 +0200 |
---|---|---|
committer | Michal Ratajsky <[email protected]> | 2014-05-24 21:01:21 +0200 |
commit | 4db8dc0cbb3959d6278a9e7650d5103a475ab897 (patch) | |
tree | 4bc508298ce65013a5819cf0cdde7444c23abdb2 /libmatemixer/matemixer-backend.c | |
parent | caf4d9b8b8b0d26856d2d64f00ab23756867a923 (diff) | |
download | libmatemixer-4db8dc0cbb3959d6278a9e7650d5103a475ab897.tar.bz2 libmatemixer-4db8dc0cbb3959d6278a9e7650d5103a475ab897.tar.xz |
General additions and improvements
Diffstat (limited to 'libmatemixer/matemixer-backend.c')
-rw-r--r-- | libmatemixer/matemixer-backend.c | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/libmatemixer/matemixer-backend.c b/libmatemixer/matemixer-backend.c index 9533e0f..18e622f 100644 --- a/libmatemixer/matemixer-backend.c +++ b/libmatemixer/matemixer-backend.c @@ -30,31 +30,53 @@ mate_mixer_backend_default_init (MateMixerBackendInterface *iface) gboolean mate_mixer_backend_open (MateMixerBackend *backend) { + MateMixerBackendInterface *iface; + g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL); - return MATE_MIXER_BACKEND_GET_INTERFACE (backend)->open (backend); + iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend); + if (iface->open) + return iface->open (backend); + + return FALSE; } void mate_mixer_backend_close (MateMixerBackend *backend) { + MateMixerBackendInterface *iface; + g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL); - MATE_MIXER_BACKEND_GET_INTERFACE (backend)->close (backend); + iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend); + if (iface->close) + iface->close (backend); } -const GList * +GList * mate_mixer_backend_list_devices (MateMixerBackend *backend) { + MateMixerBackendInterface *iface; + g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL); - return MATE_MIXER_BACKEND_GET_INTERFACE (backend)->list_devices (backend); + iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend); + if (iface->list_devices) + return iface->list_devices (backend); + + return NULL; } -const GList * +GList * mate_mixer_backend_list_tracks (MateMixerBackend *backend) { + MateMixerBackendInterface *iface; + g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL); - return MATE_MIXER_BACKEND_GET_INTERFACE (backend)->list_tracks (backend); + iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend); + if (iface->list_tracks) + return iface->list_tracks (backend); + + return NULL; } |