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  | 
