Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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));
}