summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-11-08 20:30:24 +0100
committerMichal Ratajsky <[email protected]>2014-11-08 20:30:24 +0100
commit69b3a5c03321071ebc640d66e98bbf41c709938a (patch)
tree06f899e84f67fd78ba6d09df6970a94da9cce29e
parenta204a29e71d918e2e9e11f1a6e031c71ab3d3f63 (diff)
downloadlibmatemixer-69b3a5c03321071ebc640d66e98bbf41c709938a.tar.bz2
libmatemixer-69b3a5c03321071ebc640d66e98bbf41c709938a.tar.xz
pulse: Use MateMixerDeviceSwitch and MateMixerStreamSwitch
-rw-r--r--backends/pulse/pulse-device-switch.c103
-rw-r--r--backends/pulse/pulse-device-switch.h6
-rw-r--r--backends/pulse/pulse-port-switch.c85
-rw-r--r--backends/pulse/pulse-port-switch.h4
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,74 +55,16 @@ 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)
{
swtch->priv = G_TYPE_INSTANCE_GET_PRIVATE (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,74 +55,16 @@ 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)
{
swtch->priv = G_TYPE_INSTANCE_GET_PRIVATE (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,