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"); }
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"); }