BOOL cg_upnpav_dms_queryreceived(CgUpnpStateVariable *statVar) { CgUpnpDevice *dev; CgUpnpService *service; CgUpnpAvServer *dms; CG_UPNPAV_STATEVARIABLE_LISTNER userQueryListener; service = cg_upnp_statevariable_getservice(statVar); if (!service) return FALSE; dev = (CgUpnpDevice *)cg_upnp_service_getdevice(service); if (!dev) return FALSE; dms = (CgUpnpAvServer *)cg_upnp_device_getuserdata(dev); if (!dms) return FALSE; userQueryListener = cg_upnpav_dms_getquerylistener(dms); if (userQueryListener) { if (userQueryListener(statVar)) return TRUE; } if (cg_streq(cg_upnp_service_getservicetype(service), CG_UPNPAV_DMS_CONTENTDIRECTORY_SERVICE_TYPE)) return cg_upnpav_dms_condir_queryreceived(statVar); return FALSE; }
BOOL cg_upnpav_dmr_queryreceived(CgUpnpStateVariable* statVar) { CgUpnpDevice* dev; CgUpnpService* service; CgUpnpAvRenderer* dmr; CG_UPNPAV_STATEVARIABLE_LISTNER userQueryListener; service = cg_upnp_statevariable_getservice(statVar); if (!service) return FALSE; dev = (CgUpnpDevice*)cg_upnp_service_getdevice(service); if (!dev) return FALSE; dmr = (CgUpnpAvRenderer*)cg_upnp_device_getuserdata(dev); if (!dmr) return FALSE; userQueryListener = cg_upnpav_dmr_getquerylistener(dmr); if (userQueryListener) { if (userQueryListener(statVar)) return TRUE; } if (cg_streq(cg_upnp_service_getservicetype(service), CG_UPNPAV_DMR_AVTRANSPORT_SERVICE_TYPE)) return cg_upnpav_dmr_avtransport_queryreceived(statVar); if (cg_streq(cg_upnp_service_getservicetype(service), CG_UPNPAV_DMR_RENDERINGCONTROL_SERVICE_TYPE)) return cg_upnpav_dmr_renderingctrl_queryreceived(statVar); if (cg_streq(cg_upnp_service_getservicetype(service), CG_UPNPAV_DMR_CONNECTIONMANAGER_SERVICE_TYPE)) return cg_upnpav_dmr_conmgr_queryreceived(statVar); return FALSE; }
static void cg_upnp_statevariable_setvaluewithnotify(CgUpnpStateVariable *statVar, char *data, BOOL doNotify) { CgUpnpService *service; cg_log_debug_l4("Entering...\n"); cg_string_setvalue(statVar->value, data); #if !defined(CG_UPNP_NOUSE_SUBSCRIPTION) /**** notify event ****/ if (doNotify) { if (cg_upnp_statevariable_issendevents(statVar) == FALSE) return; service = cg_upnp_statevariable_getservice(statVar); if (service == NULL) return; cg_upnp_service_notify(service, statVar); } #endif cg_log_debug_l4("Leaving...\n"); }