diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/null/null.c | 13 | ||||
-rw-r--r-- | backends/null/null.h | 2 | ||||
-rw-r--r-- | backends/pulse/pulse-device.c | 53 | ||||
-rw-r--r-- | backends/pulse/pulse-device.h | 18 | ||||
-rw-r--r-- | backends/pulse/pulse.c | 12 |
5 files changed, 55 insertions, 43 deletions
diff --git a/backends/null/null.c b/backends/null/null.c index c049dcb..b96c9b0 100644 --- a/backends/null/null.c +++ b/backends/null/null.c @@ -28,7 +28,6 @@ /* Support function for dynamic loading of the backend module */ void backend_module_init (GTypeModule *module); -void backend_module_free (void); const MateMixerBackendModuleInfo *backend_module_get_info (void); @@ -52,11 +51,6 @@ backend_module_init (GTypeModule *module) info.backend_type = MATE_MIXER_BACKEND_TYPE_NULL; } -void -backend_module_free (void) -{ -} - const MateMixerBackendModuleInfo * backend_module_get_info (void) { @@ -66,6 +60,7 @@ backend_module_get_info (void) static void mate_mixer_backend_interface_init (MateMixerBackendInterface *iface) { + iface->open = mate_mixer_null_open; } static void @@ -93,3 +88,9 @@ static void mate_mixer_null_class_finalize (MateMixerNullClass *klass) { } + +gboolean +mate_mixer_null_open (MateMixerBackend *backend) +{ + return TRUE; +} diff --git a/backends/null/null.h b/backends/null/null.h index ef5b779..d73794e 100644 --- a/backends/null/null.h +++ b/backends/null/null.h @@ -51,4 +51,6 @@ struct _MateMixerNullClass GType mate_mixer_null_get_type (void) G_GNUC_CONST; +gboolean mate_mixer_null_open (MateMixerBackend *backend); + #endif /* MATEMIXER_NULL_H */ diff --git a/backends/pulse/pulse-device.c b/backends/pulse/pulse-device.c index 75c5a32..4421e97 100644 --- a/backends/pulse/pulse-device.c +++ b/backends/pulse/pulse-device.c @@ -57,7 +57,11 @@ G_DEFINE_TYPE_WITH_CODE (MateMixerPulseDevice, mate_mixer_pulse_device, G_TYPE_O static void mate_mixer_device_interface_init (MateMixerDeviceInterface *iface) { - + iface->list_tracks = mate_mixer_pulse_device_list_tracks; + iface->get_ports = mate_mixer_pulse_device_get_ports; + iface->get_profiles = mate_mixer_pulse_device_get_profiles; + iface->get_active_profile = mate_mixer_pulse_device_get_active_profile; + iface->set_active_profile = mate_mixer_pulse_device_set_active_profile; } static void @@ -119,7 +123,9 @@ mate_mixer_pulse_device_set_property (GObject *object, device->priv->icon = g_strdup (g_value_get_string (value)); break; case PROP_ACTIVE_PROFILE: - // TODO + mate_mixer_pulse_device_set_active_profile ( + MATE_MIXER_DEVICE (device), + g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -261,33 +267,50 @@ mate_mixer_pulse_device_new (const pa_card_info *info) return device; } +gboolean +mate_mixer_pulse_device_update (MateMixerPulseDevice *device, const pa_card_info *info) +{ + g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), FALSE); + g_return_val_if_fail (info != NULL, FALSE); + + // TODO: update status, active_profile, maybe others? + return TRUE; +} + +const GList * +mate_mixer_pulse_device_list_tracks (MateMixerDevice *device) +{ + // TODO + return NULL; +} + const GList * -mate_mixer_pulse_device_get_ports (MateMixerPulseDevice *device) +mate_mixer_pulse_device_get_ports (MateMixerDevice *device) { g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), NULL); - return device->priv->ports; + return MATE_MIXER_PULSE_DEVICE (device)->priv->ports; } const GList * -mate_mixer_pulse_device_get_profiles (MateMixerPulseDevice *device) +mate_mixer_pulse_device_get_profiles (MateMixerDevice *device) { g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), NULL); - return device->priv->profiles; + return MATE_MIXER_PULSE_DEVICE (device)->priv->profiles; } MateMixerDeviceProfile * -mate_mixer_pulse_device_get_active_profile (MateMixerPulseDevice *device) +mate_mixer_pulse_device_get_active_profile (MateMixerDevice *device) { g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), NULL); - return device->priv->active_profile; + return MATE_MIXER_PULSE_DEVICE (device)->priv->active_profile; } gboolean -mate_mixer_pulse_device_set_active_profile (MateMixerPulseDevice *device, - MateMixerDeviceProfile *profile) +mate_mixer_pulse_device_set_active_profile (MateMixerDevice *device, + MateMixerDeviceProfile *profile) { g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), FALSE); g_return_val_if_fail (MATE_MIXER_IS_DEVICE_PROFILE (profile), FALSE); @@ -296,13 +319,3 @@ mate_mixer_pulse_device_set_active_profile (MateMixerPulseDevice *device, // pa_context_set_card_profile_by_index () return TRUE; } - -gboolean -mate_mixer_pulse_device_update (MateMixerPulseDevice *device, const pa_card_info *info) -{ - g_return_val_if_fail (MATE_MIXER_IS_PULSE_DEVICE (device), FALSE); - g_return_val_if_fail (info != NULL, FALSE); - - // TODO: update status, active_profile, maybe others? - return TRUE; -} diff --git a/backends/pulse/pulse-device.h b/backends/pulse/pulse-device.h index f8b5a07..ab997fe 100644 --- a/backends/pulse/pulse-device.h +++ b/backends/pulse/pulse-device.h @@ -60,18 +60,20 @@ struct _MateMixerPulseDeviceClass GType mate_mixer_pulse_device_get_type (void) G_GNUC_CONST; MateMixerPulseDevice *mate_mixer_pulse_device_new (const pa_card_info *info); -GList *mate_mixer_pulse_device_list_tracks (MateMixerPulseDevice *device); -const GList *mate_mixer_pulse_device_get_ports (MateMixerPulseDevice *device); -const GList *mate_mixer_pulse_device_get_profiles (MateMixerPulseDevice *device); +gboolean mate_mixer_pulse_device_update (MateMixerPulseDevice *device, + const pa_card_info *info); -MateMixerDeviceProfile *mate_mixer_pulse_device_get_active_profile (MateMixerPulseDevice *device); +/* Interface implementation */ +const GList *mate_mixer_pulse_device_list_tracks (MateMixerDevice *device); -gboolean mate_mixer_pulse_device_set_active_profile (MateMixerPulseDevice *device, - MateMixerDeviceProfile *profile); +const GList *mate_mixer_pulse_device_get_ports (MateMixerDevice *device); +const GList *mate_mixer_pulse_device_get_profiles (MateMixerDevice *device); -gboolean mate_mixer_pulse_device_update (MateMixerPulseDevice *device, - const pa_card_info *info); +MateMixerDeviceProfile *mate_mixer_pulse_device_get_active_profile (MateMixerDevice *device); + +gboolean mate_mixer_pulse_device_set_active_profile (MateMixerDevice *device, + MateMixerDeviceProfile *profile); G_END_DECLS diff --git a/backends/pulse/pulse.c b/backends/pulse/pulse.c index e969dcf..d306577 100644 --- a/backends/pulse/pulse.c +++ b/backends/pulse/pulse.c @@ -41,7 +41,6 @@ struct _MateMixerPulsePrivate /* Support function for dynamic loading of the backend module */ void backend_module_init (GTypeModule *module); -void backend_module_free (void); const MateMixerBackendModuleInfo *backend_module_get_info (void); @@ -81,11 +80,6 @@ backend_module_init (GTypeModule *module) info.backend_type = MATE_MIXER_BACKEND_TYPE_PULSE; } -void -backend_module_free (void) -{ -} - const MateMixerBackendModuleInfo * backend_module_get_info (void) { @@ -95,9 +89,9 @@ backend_module_get_info (void) static void mate_mixer_backend_interface_init (MateMixerBackendInterface *iface) { - iface->open = mate_mixer_pulse_open; - iface->close = mate_mixer_pulse_close; - iface->list_devices = mate_mixer_pulse_list_devices; + iface->open = mate_mixer_pulse_open; + iface->close = mate_mixer_pulse_close; + iface->list_devices = mate_mixer_pulse_list_devices; } static void |