summaryrefslogtreecommitdiff
path: root/libdleyna/server/props.c
diff options
context:
space:
mode:
authorLudovic Ferrandis <ludovic.ferrandis@intel.com>2013-09-11 15:49:51 +0200
committerLudovic Ferrandis <ludovic.ferrandis@intel.com>2013-10-02 19:11:52 +0200
commit21c4ff0e1d94454915eceaef3461cb2bdf3010f7 (patch)
tree3782d0d057c77d54bb900d51e95477febf1dfcab /libdleyna/server/props.c
parent64ad1c620dec35539c97b14f3560cc8372cbe6ca (diff)
downloaddleyna-server-21c4ff0e1d94454915eceaef3461cb2bdf3010f7.tar.gz
[Network Filtering] New API and save
- Remove all WhiteListxxx API - Add Set() to 'org.freedesktop.DBus.Properties' interface to 'com.intel.dLeynaServer.Manager' root interface Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
Diffstat (limited to 'libdleyna/server/props.c')
-rw-r--r--libdleyna/server/props.c43
1 files changed, 14 insertions, 29 deletions
diff --git a/libdleyna/server/props.c b/libdleyna/server/props.c
index e66e0a2..6ff6cf6 100644
--- a/libdleyna/server/props.c
+++ b/libdleyna/server/props.c
@@ -2060,57 +2060,42 @@ on_error:
return retval;
}
-static void prv_add_list_wl_entries(gpointer data, gpointer user_data)
+static GVariant *prv_build_wl_entries(dleyna_settings_t *settings)
{
- GVariantBuilder *vb = (GVariantBuilder *)user_data;
- gchar *entry = (gchar *)data;
+ GVariant *result;
- g_variant_builder_add(vb, "s", entry);
-}
+ result = dleyna_settings_white_list_entries(settings);
-void dls_props_add_manager(GUPnPContextManager *manager, GVariantBuilder *vb)
-{
- GUPnPWhiteList *wl;
- GList *list;
- GVariantBuilder vb2;
+ if (result == NULL)
+ result = g_variant_new("as", NULL);
- wl = gupnp_context_manager_get_white_list(manager);
- list = gupnp_white_list_get_entries(wl);
+ return result;
+}
+void dls_props_add_manager(dleyna_settings_t *settings, GVariantBuilder *vb)
+{
prv_add_bool_prop(vb, DLS_INTERFACE_PROP_WHITE_LIST_ENABLED,
- gupnp_white_list_get_enabled(wl));
-
- g_variant_builder_init(&vb2, G_VARIANT_TYPE("as"));
- g_list_foreach(list, prv_add_list_wl_entries, &vb2);
+ dleyna_settings_is_white_list_enabled(settings));
g_variant_builder_add(vb, "{sv}", DLS_INTERFACE_PROP_WHITE_LIST_ENTRIES,
- g_variant_builder_end(&vb2));
+ prv_build_wl_entries(settings));
}
-GVariant *dls_props_get_manager_prop(GUPnPContextManager *manager,
+GVariant *dls_props_get_manager_prop(dleyna_settings_t *settings,
const gchar *prop)
{
GVariant *retval = NULL;
- GUPnPWhiteList *wl;
- GVariantBuilder vb;
- GList *list;
gboolean b_value;
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
gchar *prop_str;
#endif
- wl = gupnp_context_manager_get_white_list(manager);
-
if (!strcmp(prop, DLS_INTERFACE_PROP_WHITE_LIST_ENABLED)) {
- b_value = gupnp_white_list_get_enabled(wl);
+ b_value = dleyna_settings_is_white_list_enabled(settings);
retval = g_variant_ref_sink(g_variant_new_boolean(b_value));
} else if (!strcmp(prop, DLS_INTERFACE_PROP_WHITE_LIST_ENTRIES)) {
- list = gupnp_white_list_get_entries(wl);
-
- g_variant_builder_init(&vb, G_VARIANT_TYPE("as"));
- g_list_foreach(list, prv_add_list_wl_entries, &vb);
- retval = g_variant_ref_sink(g_variant_builder_end(&vb));
+ retval = g_variant_ref_sink(prv_build_wl_entries(settings));
}
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG