summaryrefslogtreecommitdiff
path: root/backends/pulse/pulse-port-switch.c
diff options
context:
space:
mode:
Diffstat (limited to 'backends/pulse/pulse-port-switch.c')
-rw-r--r--backends/pulse/pulse-port-switch.c85
1 files changed, 4 insertions, 81 deletions
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