static GVariant *prv_get_prop(dleyna_settings_t *settings, const gchar *prop) { GVariant *retval = NULL; #if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG gchar *prop_str; #endif if (!strcmp(prop, DLR_INTERFACE_PROP_NEVER_QUIT)) retval = g_variant_ref_sink(g_variant_new_boolean( dleyna_settings_is_never_quit( settings))); else if (!strcmp(prop, DLR_INTERFACE_PROP_WHITE_LIST_ENABLED)) retval = g_variant_ref_sink(g_variant_new_boolean( dleyna_settings_is_white_list_enabled( settings))); else if (!strcmp(prop, DLR_INTERFACE_PROP_WHITE_LIST_ENTRIES)) retval = g_variant_ref_sink(prv_build_wl_entries(settings)); #if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG if (retval) { prop_str = g_variant_print(retval, FALSE); DLEYNA_LOG_DEBUG("Prop %s = %s", prop, prop_str); g_free(prop_str); } #endif return retval; }
static void prv_set_prop_never_quit(dlr_manager_t *manager, dleyna_settings_t *settings, gboolean never_quit, GError **error) { GVariant *prop_val; gboolean old_val; DLEYNA_LOG_DEBUG("Enter %d", never_quit); old_val = dleyna_settings_is_never_quit(settings); if (old_val == never_quit) goto exit; /* If no error, the white list will be updated in the reload callack */ dleyna_settings_set_never_quit(settings, never_quit, error); if (*error == NULL) { prop_val = g_variant_new_boolean(never_quit); prv_wl_notify_prop(manager, DLR_INTERFACE_PROP_NEVER_QUIT, prop_val); } exit: DLEYNA_LOG_DEBUG("Exit"); return; }
static void prv_remove_client(const gchar *name) { dleyna_task_processor_remove_queues_for_source(g_context.processor, name); g_context.watchers--; if (g_context.watchers == 0) if (!dleyna_settings_is_never_quit(g_context.settings)) dleyna_task_processor_set_quitting(g_context.processor); }
static void prv_add_all_props(dleyna_settings_t *settings, GVariantBuilder *vb) { g_variant_builder_add(vb, "{sv}", DLR_INTERFACE_PROP_NEVER_QUIT, g_variant_new_boolean( dleyna_settings_is_never_quit( settings))); g_variant_builder_add(vb, "{sv}", DLR_INTERFACE_PROP_WHITE_LIST_ENABLED, g_variant_new_boolean( dleyna_settings_is_white_list_enabled( settings))); g_variant_builder_add(vb, "{sv}", DLR_INTERFACE_PROP_WHITE_LIST_ENTRIES, prv_build_wl_entries(settings)); }