Пример #1
0
static gboolean
init_client (GUPnPContext *context)
{
        GUPnPControlPoint *cp;

        cp = gupnp_control_point_new (context, NETWORK_LIGHT);

        g_signal_connect (cp,
                          "device-proxy-available",
                          G_CALLBACK (on_network_light_available),
                          NULL);
        g_signal_connect (cp,
                          "device-proxy-unavailable",
                          G_CALLBACK (on_network_light_unavailable),
                          NULL);

        gssdp_resource_browser_set_active (GSSDP_RESOURCE_BROWSER (cp), TRUE);

        /* Let context manager take care of the control point life cycle */
        gupnp_context_manager_manage_control_point (context_manager, cp);

        /* We don't need to keep our own references to the control points */
        g_object_unref (cp);

        return TRUE;
}
Пример #2
0
static void prv_on_context_available(GUPnPContextManager *context_manager,
				     GUPnPContext *context,
				     gpointer user_data)
{
	dld_upnp_t *upnp = user_data;
	GUPnPControlPoint *cp;

	cp = gupnp_control_point_new(context, "upnp:rootdevice");

	g_signal_connect(cp, "device-proxy-available",
			 G_CALLBACK(prv_device_available_cb), upnp);

	g_signal_connect(cp, "device-proxy-unavailable",
			 G_CALLBACK(prv_device_unavailable_cb), upnp);

	gssdp_resource_browser_set_active(GSSDP_RESOURCE_BROWSER(cp), TRUE);
	gupnp_context_manager_manage_control_point(upnp->context_manager, cp);
	g_object_unref(cp);
}
Пример #3
0
static void
gupnp_simple_igd_add_control_point (GUPnPSimpleIgd *self,
                                    GUPnPContext *gupnp_context, const char *target)
{
    GUPnPControlPoint *cp;

    cp = gupnp_control_point_new (gupnp_context, target);
    g_return_if_fail (cp);

    g_signal_connect_object (cp, "service-proxy-available",
                             G_CALLBACK (_cp_service_avail), self, 0);
    g_signal_connect_object (cp, "service-proxy-unavailable",
                             G_CALLBACK (_cp_service_unavail), self, 0);

    gssdp_resource_browser_set_active (GSSDP_RESOURCE_BROWSER (cp), TRUE);

    gupnp_context_manager_manage_control_point (
        self->priv->gupnp_context_manager, cp);
    g_object_unref (cp);
}