From 69b3a5c03321071ebc640d66e98bbf41c709938a Mon Sep 17 00:00:00 2001 From: Michal Ratajsky Date: Sat, 8 Nov 2014 20:30:24 +0100 Subject: pulse: Use MateMixerDeviceSwitch and MateMixerStreamSwitch --- backends/pulse/pulse-device-switch.c | 103 +++-------------------------------- backends/pulse/pulse-device-switch.h | 6 +- backends/pulse/pulse-port-switch.c | 85 ++--------------------------- backends/pulse/pulse-port-switch.h | 4 +- 4 files changed, 17 insertions(+), 181 deletions(-) diff --git a/backends/pulse/pulse-device-switch.c b/backends/pulse/pulse-device-switch.c index bc2490d..b41d8ea 100644 --- a/backends/pulse/pulse-device-switch.c +++ b/backends/pulse/pulse-device-switch.c @@ -29,33 +29,14 @@ struct _PulseDeviceSwitchPrivate { - GList *profiles; - PulseDevice *device; + GList *profiles; }; -enum { - PROP_0, - PROP_DEVICE, - N_PROPERTIES -}; - -static GParamSpec *properties[N_PROPERTIES] = { NULL, }; - static void pulse_device_switch_class_init (PulseDeviceSwitchClass *klass); - -static void pulse_device_switch_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec); -static void pulse_device_switch_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec); - static void pulse_device_switch_init (PulseDeviceSwitch *swtch); static void pulse_device_switch_dispose (GObject *object); -G_DEFINE_TYPE (PulseDeviceSwitch, pulse_device_switch, MATE_MIXER_TYPE_SWITCH) +G_DEFINE_TYPE (PulseDeviceSwitch, pulse_device_switch, MATE_MIXER_TYPE_DEVICE_SWITCH) static gboolean pulse_device_switch_set_active_option (MateMixerSwitch *mms, MateMixerSwitchOption *mmso); @@ -74,73 +55,15 @@ pulse_device_switch_class_init (PulseDeviceSwitchClass *klass) MateMixerSwitchClass *switch_class; object_class = G_OBJECT_CLASS (klass); - object_class->dispose = pulse_device_switch_dispose; - object_class->get_property = pulse_device_switch_get_property; - object_class->set_property = pulse_device_switch_set_property; + object_class->dispose = pulse_device_switch_dispose; switch_class = MATE_MIXER_SWITCH_CLASS (klass); switch_class->set_active_option = pulse_device_switch_set_active_option; switch_class->list_options = pulse_device_switch_list_options; - properties[PROP_DEVICE] = - g_param_spec_object ("device", - "Device", - "PulseAudio device", - PULSE_TYPE_DEVICE, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_STRINGS); - - g_object_class_install_properties (object_class, N_PROPERTIES, properties); - g_type_class_add_private (G_OBJECT_CLASS (klass), sizeof (PulseDeviceSwitchPrivate)); } -static void -pulse_device_switch_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec) -{ - PulseDeviceSwitch *swtch; - - swtch = PULSE_DEVICE_SWITCH (object); - - switch (param_id) { - case PROP_DEVICE: - g_value_set_object (value, swtch->priv->device); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); - break; - } -} - -static void -pulse_device_switch_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec) -{ - PulseDeviceSwitch *swtch; - - swtch = PULSE_DEVICE_SWITCH (object); - - switch (param_id) { - case PROP_DEVICE: - /* Construct-only object */ - swtch->priv->device = g_value_get_object (value); - - if (swtch->priv->device != NULL) - g_object_add_weak_pointer (G_OBJECT (swtch->priv->device), - (gpointer *) &swtch->priv->device); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); - break; - } -} - static void pulse_device_switch_init (PulseDeviceSwitch *swtch) { @@ -174,14 +97,6 @@ pulse_device_switch_new (const gchar *name, const gchar *label, PulseDevice *dev NULL); } -PulseDevice * -pulse_device_switch_get_device (PulseDeviceSwitch *swtch) -{ - g_return_val_if_fail (PULSE_IS_DEVICE_SWITCH (swtch), NULL); - - return swtch->priv->device; -} - void pulse_device_switch_add_profile (PulseDeviceSwitch *swtch, PulseDeviceProfile *profile) { @@ -223,21 +138,21 @@ pulse_device_switch_set_active_profile_by_name (PulseDeviceSwitch *swtch, const static gboolean pulse_device_switch_set_active_option (MateMixerSwitch *mms, MateMixerSwitchOption *mmso) { - PulseDevice *device; - const gchar *device_name; - const gchar *profile_name; + MateMixerDevice *device; + const gchar *device_name; + const gchar *profile_name; g_return_val_if_fail (PULSE_IS_DEVICE_SWITCH (mms), FALSE); g_return_val_if_fail (PULSE_IS_DEVICE_PROFILE (mmso), FALSE); - device = pulse_device_switch_get_device (PULSE_DEVICE_SWITCH (mms)); + device = mate_mixer_device_switch_get_device (MATE_MIXER_DEVICE_SWITCH (mms)); if G_UNLIKELY (device == NULL) return FALSE; - device_name = mate_mixer_device_get_name (MATE_MIXER_DEVICE (device)); + device_name = mate_mixer_device_get_name (device); profile_name = mate_mixer_switch_option_get_name (mmso); - return pulse_connection_set_card_profile (pulse_device_get_connection (device), + return pulse_connection_set_card_profile (pulse_device_get_connection (PULSE_DEVICE (device)), device_name, profile_name); } diff --git a/backends/pulse/pulse-device-switch.h b/backends/pulse/pulse-device-switch.h index 50f4a68..3886937 100644 --- a/backends/pulse/pulse-device-switch.h +++ b/backends/pulse/pulse-device-switch.h @@ -44,7 +44,7 @@ typedef struct _PulseDeviceSwitchPrivate PulseDeviceSwitchPrivate; struct _PulseDeviceSwitch { - MateMixerSwitch parent; + MateMixerDeviceSwitch parent; /*< private >*/ PulseDeviceSwitchPrivate *priv; @@ -52,7 +52,7 @@ struct _PulseDeviceSwitch struct _PulseDeviceSwitchClass { - MateMixerSwitchClass parent_class; + MateMixerDeviceSwitchClass parent_class; }; GType pulse_device_switch_get_type (void) G_GNUC_CONST; @@ -61,8 +61,6 @@ PulseDeviceSwitch *pulse_device_switch_new (const gchar const gchar *label, PulseDevice *device); -PulseDevice * pulse_device_switch_get_device (PulseDeviceSwitch *swtch); - void pulse_device_switch_add_profile (PulseDeviceSwitch *swtch, PulseDeviceProfile *profile); diff --git a/backends/pulse/pulse-port-switch.c b/backends/pulse/pulse-port-switch.c index 71e0709..1f4ce67 100644 --- a/backends/pulse/pulse-port-switch.c +++ b/backends/pulse/pulse-port-switch.c @@ -29,33 +29,14 @@ struct _PulsePortSwitchPrivate { - GList *ports; - PulseStream *stream; + GList *ports; }; -enum { - PROP_0, - PROP_STREAM, - N_PROPERTIES -}; - -static GParamSpec *properties[N_PROPERTIES] = { NULL, }; - static void pulse_port_switch_class_init (PulsePortSwitchClass *klass); - -static void pulse_port_switch_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec); -static void pulse_port_switch_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec); - static void pulse_port_switch_init (PulsePortSwitch *swtch); static void pulse_port_switch_dispose (GObject *object); -G_DEFINE_ABSTRACT_TYPE (PulsePortSwitch, pulse_port_switch, MATE_MIXER_TYPE_SWITCH) +G_DEFINE_ABSTRACT_TYPE (PulsePortSwitch, pulse_port_switch, MATE_MIXER_TYPE_STREAM_SWITCH) static gboolean pulse_port_switch_set_active_option (MateMixerSwitch *mms, MateMixerSwitchOption *mmso); @@ -74,73 +55,15 @@ pulse_port_switch_class_init (PulsePortSwitchClass *klass) MateMixerSwitchClass *switch_class; object_class = G_OBJECT_CLASS (klass); - object_class->dispose = pulse_port_switch_dispose; - object_class->get_property = pulse_port_switch_get_property; - object_class->set_property = pulse_port_switch_set_property; + object_class->dispose = pulse_port_switch_dispose; switch_class = MATE_MIXER_SWITCH_CLASS (klass); switch_class->set_active_option = pulse_port_switch_set_active_option; switch_class->list_options = pulse_port_switch_list_options; - properties[PROP_STREAM] = - g_param_spec_object ("stream", - "Stream", - "PulseAudio stream", - PULSE_TYPE_STREAM, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_STRINGS); - - g_object_class_install_properties (object_class, N_PROPERTIES, properties); - g_type_class_add_private (G_OBJECT_CLASS (klass), sizeof (PulsePortSwitchPrivate)); } -static void -pulse_port_switch_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec) -{ - PulsePortSwitch *swtch; - - swtch = PULSE_PORT_SWITCH (object); - - switch (param_id) { - case PROP_STREAM: - g_value_set_object (value, swtch->priv->stream); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); - break; - } -} - -static void -pulse_port_switch_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec) -{ - PulsePortSwitch *swtch; - - swtch = PULSE_PORT_SWITCH (object); - - switch (param_id) { - case PROP_STREAM: - /* Construct-only object */ - swtch->priv->stream = g_value_get_object (value); - - if (swtch->priv->stream != NULL) - g_object_add_weak_pointer (G_OBJECT (swtch->priv->stream), - (gpointer *) &swtch->priv->stream); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); - break; - } -} - static void pulse_port_switch_init (PulsePortSwitch *swtch) { @@ -168,7 +91,7 @@ pulse_port_switch_get_stream (PulsePortSwitch *swtch) { g_return_val_if_fail (PULSE_IS_PORT_SWITCH (swtch), NULL); - return swtch->priv->stream; + return PULSE_STREAM (mate_mixer_stream_switch_get_stream (MATE_MIXER_STREAM_SWITCH (swtch))); } void diff --git a/backends/pulse/pulse-port-switch.h b/backends/pulse/pulse-port-switch.h index 6ccef38..a69361f 100644 --- a/backends/pulse/pulse-port-switch.h +++ b/backends/pulse/pulse-port-switch.h @@ -44,7 +44,7 @@ typedef struct _PulsePortSwitchPrivate PulsePortSwitchPrivate; struct _PulsePortSwitch { - MateMixerSwitch parent; + MateMixerStreamSwitch parent; /*< private >*/ PulsePortSwitchPrivate *priv; @@ -52,7 +52,7 @@ struct _PulsePortSwitch struct _PulsePortSwitchClass { - MateMixerSwitchClass parent_class; + MateMixerStreamSwitchClass parent_class; /*< private >*/ gboolean (*set_active_port) (PulsePortSwitch *swtch, -- cgit v1.2.1