dlr_manager_t *dlr_manager_new(dleyna_connector_id_t connection, GUPnPContextManager *connection_manager) { dlr_manager_t *manager = g_new0(dlr_manager_t, 1); GUPnPWhiteList *gupnp_wl; gupnp_wl = gupnp_context_manager_get_white_list(connection_manager); manager->connection = connection; manager->cm = connection_manager; manager->wl = dleyna_white_list_new(gupnp_wl); return manager; }
gboolean init_upnp (gchar **interfaces, guint port, gchar *name) { GUPnPWhiteList *white_list; switch_proxies = NULL; dimming_proxies = NULL; nl_hash = g_hash_table_new_full (g_direct_hash, (GEqualFunc) context_equal, g_object_unref, (GDestroyNotify) network_light_free); if (!prepare_desc (name)) { return FALSE; } context_manager = gupnp_context_manager_new (NULL, port); g_assert (context_manager != NULL); if (interfaces != NULL) { white_list = gupnp_context_manager_get_white_list (context_manager); gupnp_white_list_add_entryv (white_list, interfaces); gupnp_white_list_set_enabled (white_list, TRUE); } g_signal_connect (context_manager, "context-available", G_CALLBACK (on_context_available), NULL); g_signal_connect (context_manager, "context-unavailable", G_CALLBACK (on_context_unavailable), NULL); return TRUE; }