Merge lp:~cjcurran/indicator-sound/is_blacklisted_dbus_method into lp:~indicator-applet-developers/indicator-sound/trunk_3

Proposed by Conor Curran
Status: Merged
Merged at revision: 214
Proposed branch: lp:~cjcurran/indicator-sound/is_blacklisted_dbus_method
Merge into: lp:~indicator-applet-developers/indicator-sound/trunk_3
Diff against target: 107 lines (+55/-7)
2 files modified
src/sound-service-dbus.c (+49/-7)
src/sound-service.xml (+6/-0)
To merge this branch: bzr merge lp:~cjcurran/indicator-sound/is_blacklisted_dbus_method
Reviewer Review Type Date Requested Status
Conor Curran (community) Approve
Review via email: mp+52425@code.launchpad.net

Description of the change

Fixed

To post a comment you must log in.
Revision history for this message
Conor Curran (cjcurran) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/sound-service-dbus.c'
--- src/sound-service-dbus.c 2011-03-01 11:23:15 +0000
+++ src/sound-service-dbus.c 2011-03-07 15:28:35 +0000
@@ -74,6 +74,8 @@
74 gchar* player_name,74 gchar* player_name,
75 gboolean blacklist); 75 gboolean blacklist);
7676
77static gboolean sound_service_dbus_is_blacklisted (SoundServiceDbus* self,
78 gchar* player_name);
7779
78G_DEFINE_TYPE (SoundServiceDbus, sound_service_dbus, G_TYPE_OBJECT);80G_DEFINE_TYPE (SoundServiceDbus, sound_service_dbus, G_TYPE_OBJECT);
7981
@@ -281,7 +283,16 @@
281 player_name,283 player_name,
282 blacklist);284 blacklist);
283 retval = g_variant_new ("(b)", result);285 retval = g_variant_new ("(b)", result);
284 } 286 }
287 else if (g_strcmp0(method, "IsBlacklisted") == 0) {
288 gchar* player_name;
289 g_variant_get (params, "(s)", &player_name);
290
291 g_debug ("IsBlacklisted - name %s", player_name);
292 gboolean result = sound_service_dbus_is_blacklisted (service,
293 player_name);
294 retval = g_variant_new ("(b)", result);
295 }
285 else {296 else {
286 g_warning("Calling method '%s' on the sound service but it's unknown", method); 297 g_warning("Calling method '%s' on the sound service but it's unknown", method);
287 }298 }
@@ -296,17 +307,18 @@
296 gboolean blacklist) 307 gboolean blacklist)
297{308{
298 g_return_val_if_fail (player_name != NULL, FALSE);309 g_return_val_if_fail (player_name != NULL, FALSE);
310 g_return_val_if_fail (IS_SOUND_SERVICE_DBUS (self), FALSE);
299311
312 GVariant* the_black_list;
300 gboolean result = FALSE;313 gboolean result = FALSE;
301 GSettings* our_settings = NULL;314 GSettings* our_settings;
302 our_settings = g_settings_new ("com.canonical.indicators.sound");
303 GVariant* the_black_list = g_settings_get_value (our_settings,
304 "blacklisted-media-players");
305 GVariantIter iter;315 GVariantIter iter;
306 gchar *str;316 gchar *str;
307 // Firstly prep new array which will be set on the key.
308 GVariantBuilder builder;317 GVariantBuilder builder;
309 318
319 our_settings = g_settings_new ("com.canonical.indicators.sound");
320 the_black_list = g_settings_get_value (our_settings,
321 "blacklisted-media-players");
310 g_variant_iter_init (&iter, the_black_list);322 g_variant_iter_init (&iter, the_black_list);
311 g_variant_builder_init(&builder, G_VARIANT_TYPE_STRING_ARRAY); 323 g_variant_builder_init(&builder, G_VARIANT_TYPE_STRING_ARRAY);
312324
@@ -373,4 +385,34 @@
373 return result;385 return result;
374}386}
375387
388static gboolean sound_service_dbus_is_blacklisted (SoundServiceDbus *self,
389 gchar *player_name)
390{
391 GSettings *our_settings;
392 GVariant *the_black_list;
393 GVariantIter iter;
394 gchar *str;
395 gboolean result = FALSE;
396
397 g_return_val_if_fail (player_name != NULL, FALSE);
398 g_return_val_if_fail (IS_SOUND_SERVICE_DBUS (self), FALSE);
399
400 our_settings = g_settings_new ("com.canonical.indicators.sound");
401 the_black_list = g_settings_get_value (our_settings,
402 "blacklisted-media-players");
403 g_variant_iter_init (&iter, the_black_list);
404 while (g_variant_iter_next (&iter, "s", &str)){
405 if (g_strcmp0 (player_name, str) == 0) {
406 result = TRUE;
407 g_free (str);
408 break;
409 }
410 g_free (str);
411 }
412
413 g_object_unref (our_settings);
414 g_variant_unref (the_black_list);
415
416 return result;
417}
376418
377419
=== modified file 'src/sound-service.xml'
--- src/sound-service.xml 2011-01-31 19:14:47 +0000
+++ src/sound-service.xml 2011-03-07 15:28:35 +0000
@@ -7,6 +7,12 @@
7 <arg type='b' name='blacklist' direction="in"/>7 <arg type='b' name='blacklist' direction="in"/>
8 <arg type='b' name='result' direction="out"/>8 <arg type='b' name='result' direction="out"/>
9 </method>9 </method>
10 <method name = "IsBlacklisted">
11 <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
12 <arg type='s' name='player_desktop_name' direction="in"/>
13 <arg type='b' name='result' direction="out"/>
14 </method>
15
10 <method name = "GetSoundState">16 <method name = "GetSoundState">
11 <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>17 <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
12 <arg type='i' name='current_state' direction="out"/>18 <arg type='i' name='current_state' direction="out"/>

Subscribers

People subscribed via source and target branches