diff options
author | Ludovic Ferrandis <ludovic.ferrandis@intel.com> | 2013-09-11 15:49:51 +0200 |
---|---|---|
committer | Ludovic Ferrandis <ludovic.ferrandis@intel.com> | 2013-10-02 19:11:52 +0200 |
commit | 21c4ff0e1d94454915eceaef3461cb2bdf3010f7 (patch) | |
tree | 3782d0d057c77d54bb900d51e95477febf1dfcab /libdleyna/server/props.c | |
parent | 64ad1c620dec35539c97b14f3560cc8372cbe6ca (diff) | |
download | dleyna-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.c | 43 |
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 |