Ejemplo n.º 1
0
dls_upnp_t *dls_upnp_new(dleyna_connector_id_t connection,
			 const dleyna_connector_dispatch_cb_t *dispatch_table,
			 dls_upnp_callback_t found_server,
			 dls_upnp_callback_t lost_server,
			 void *user_data)
{
	dls_upnp_t *upnp = g_new0(dls_upnp_t, 1);

	upnp->connection = connection;
	upnp->interface_info = dispatch_table;
	upnp->user_data = user_data;
	upnp->found_server = found_server;
	upnp->lost_server = lost_server;

	upnp->server_udn_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						     g_free,
						     dls_device_delete);

	upnp->server_uc_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						    g_free, NULL);

	dls_prop_maps_new(&upnp->property_map, &upnp->filter_map);

	upnp->context_manager = gupnp_context_manager_create(0);

	g_signal_connect(upnp->context_manager, "context-available",
			 G_CALLBACK(prv_on_context_available),
			 upnp);

	return upnp;
}
Ejemplo n.º 2
0
msu_upnp_t *msu_upnp_new(GDBusConnection *connection,
			 msu_interface_info_t *interface_info,
			 msu_upnp_callback_t found_server,
			 msu_upnp_callback_t lost_server,
			 void *user_data)
{
	msu_upnp_t *upnp = g_new0(msu_upnp_t, 1);

	upnp->connection = connection;
	upnp->interface_info = interface_info;
	upnp->user_data = user_data;
	upnp->found_server = found_server;
	upnp->lost_server = lost_server;

	upnp->server_udn_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						     g_free,
						     msu_device_delete);

	upnp->server_uc_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						     g_free, NULL);

	msu_prop_maps_new(&upnp->property_map, &upnp->filter_map);

	upnp->context_manager = gupnp_context_manager_create(0);

	g_signal_connect(upnp->context_manager, "context-available",
			 G_CALLBACK(prv_on_context_available),
			 upnp);

	return upnp;
}
Ejemplo n.º 3
0
dlr_upnp_t *dlr_upnp_new(dleyna_connector_id_t connection,
			 guint port,
			 guint push_host_port,
			 const dleyna_connector_dispatch_cb_t *dispatch_table,
			 dlr_upnp_callback_t found_server,
			 dlr_upnp_callback_t lost_server)
{
	dlr_upnp_t *upnp = g_new0(dlr_upnp_t, 1);

	upnp->connection = connection;
	upnp->interface_info = dispatch_table;
	upnp->found_server = found_server;
	upnp->lost_server = lost_server;

	upnp->server_udn_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						     g_free,
						     dlr_device_delete);

	upnp->server_uc_map = g_hash_table_new_full(g_str_hash, g_str_equal,
						    g_free, NULL);

	upnp->context_manager = gupnp_context_manager_create(port);

	g_signal_connect(upnp->context_manager, "context-available",
			 G_CALLBACK(prv_on_context_available),
			 upnp);

	dlr_host_service_new(&upnp->host_service, push_host_port);

	return upnp;
}
Ejemplo n.º 4
0
 UPNPRouter() {
     //TODO: Map UPnP port
   std::thread m([=](){
     GUPnPContextManager* mngr = gupnp_context_manager_create(0);
     g_signal_connect(mngr,"context-available",G_CALLBACK(context_found),0);
     igdContext = gupnp_simple_igd_new();
     gtk_main();
   });
   m.detach();
 }
Ejemplo n.º 5
0
static void
gupnp_simple_igd_constructed (GObject *object)
{
    GUPnPSimpleIgd *self = GUPNP_SIMPLE_IGD_CAST (object);
    SoupSession *session;

    self->priv->main_context = g_main_context_get_thread_default ();
    if (!self->priv->main_context)
        self->priv->main_context = g_main_context_default ();
    g_main_context_ref (self->priv->main_context);

    self->priv->gupnp_context_manager = gupnp_context_manager_create (0);

    g_signal_connect (self->priv->gupnp_context_manager, "context-available",
                      G_CALLBACK (_context_available), self);

    if (G_OBJECT_CLASS (gupnp_simple_igd_parent_class)->constructed)
        G_OBJECT_CLASS (gupnp_simple_igd_parent_class)->constructed (object);
}