summaryrefslogtreecommitdiff
path: root/libmatemixer/matemixer-backend.c
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-05-24 21:01:21 +0200
committerMichal Ratajsky <[email protected]>2014-05-24 21:01:21 +0200
commit4db8dc0cbb3959d6278a9e7650d5103a475ab897 (patch)
tree4bc508298ce65013a5819cf0cdde7444c23abdb2 /libmatemixer/matemixer-backend.c
parentcaf4d9b8b8b0d26856d2d64f00ab23756867a923 (diff)
downloadlibmatemixer-4db8dc0cbb3959d6278a9e7650d5103a475ab897.tar.bz2
libmatemixer-4db8dc0cbb3959d6278a9e7650d5103a475ab897.tar.xz
General additions and improvements
Diffstat (limited to 'libmatemixer/matemixer-backend.c')
-rw-r--r--libmatemixer/matemixer-backend.c34
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;
}