Exemple #1
0
static void cg_upnp_controlpoint_ssdplistner(CgUpnpSSDPPacket *ssdpPkt)
{
	CgUpnpControlPoint *ctrlPoint;
	CG_UPNP_SSDP_LISTNER listener;

	cg_log_debug_l4("Entering...\n");

	ctrlPoint = (CgUpnpControlPoint *)cg_upnp_ssdp_packet_getuserdata(ssdpPkt);
	if (ctrlPoint == NULL)
		return;

	/* We filter out all but rootdevice, since it must be advertized by all
	 * devices. This way we avoid lots of device updates during advertizement
	 * cycle. */
	if (cg_upnp_ssdp_packet_isrootdevice(ssdpPkt) == TRUE) {
		if (cg_upnp_ssdp_packet_isalive(ssdpPkt) == TRUE)
			cg_upnp_controlpoint_adddevicebyssdppacket(ctrlPoint, ssdpPkt);
		else if (cg_upnp_ssdp_packet_isbyebye(ssdpPkt) == TRUE)
			cg_upnp_controlpoint_removedevicebyssdppacket(ctrlPoint, ssdpPkt);
	}
				
	listener = cg_upnp_controlpoint_getssdplistener(ctrlPoint);
	if (listener != NULL)
		listener(ssdpPkt);

	cg_log_debug_l4("Leaving...\n");
}
void cg_upnp_device_ssdplistener(CgUpnpSSDPPacket *ssdpPkt)
{
    CgUpnpDevice *dev;

    cg_log_debug_l4("Entering...\n");

    dev = (CgUpnpDevice *)cg_upnp_ssdp_packet_getuserdata(ssdpPkt);
    cg_upnp_device_ssdpmessagereceived(dev, ssdpPkt, TRUE);

    cg_log_debug_l4("Leaving...\n");
}
Exemple #3
0
static void cg_upnp_controlpoint_ssdpresponselistner(CgUpnpSSDPPacket *ssdpPkt)
{
	CgUpnpControlPoint *ctrlPoint;
	CG_UPNP_SSDP_RESPONSE_LISTNER listener;

	cg_log_debug_l4("Entering...\n");

	ctrlPoint = (CgUpnpControlPoint *)cg_upnp_ssdp_packet_getuserdata(ssdpPkt);
	if (ctrlPoint == NULL)
		return;

	cg_upnp_controlpoint_adddevicebyssdppacket(ctrlPoint, ssdpPkt);
				
	listener = cg_upnp_controlpoint_getssdpresponselistener(ctrlPoint);
	if (listener != NULL)
		listener(ssdpPkt);	

	cg_log_debug_l4("Leaving...\n");
}