void PrintDMSInfo(mUpnpDevice* dev, int dmsNum) { mUpnpService* conDirService; mUpnpAction* browseAction; mUpnpStateVariable* searchCap; mUpnpStateVariable* sorpCap; if (!mupnp_device_isdevicetype(dev, UPNPAVDUMP_DMS_DEVICETYPE)) return; printf("[%d] : %s\n", dmsNum, mupnp_device_getfriendlyname(dev)); conDirService = mupnp_device_getservicebytype(dev, UPNPAVDUMP_DMS_CONTENTDIR_SERVICETYPE); if (!conDirService) return; searchCap = mupnp_service_getstatevariablebyname(conDirService, "SearchCapabilities"); if (searchCap) { if (mupnp_statevariable_post(searchCap)) printf(" SearchCapabilities = %s\n", mupnp_statevariable_getvalue(searchCap)); } sorpCap = mupnp_service_getstatevariablebyname(conDirService, "SortCapabilities"); if (sorpCap) { if (mupnp_statevariable_post(sorpCap)) printf(" SortCapabilities = %s\n", mupnp_statevariable_getvalue(sorpCap)); } browseAction = mupnp_service_getactionbyname(conDirService, UPNPAVDUMP_DMS_BROWSE_ACTIONNAME); if (!browseAction) return; PrintContentDirectory(browseAction, 0, "0"); }
void QueryDevice(mUpnpControlPoint *ctrlPoint) { mUpnpDevice *selDev; mUpnpService *selService; mUpnpStateVariable *selStateVar; bool querySuccess; char *stateValue; printf("Query Device\n"); selDev = SelectDevice(ctrlPoint); if (selDev == NULL) return; selService = SelectService(selDev); if (selService == NULL) return; selStateVar = SelectStateVariable(selService); if (selStateVar == NULL) return; querySuccess = mupnp_statevariable_post(selStateVar); stateValue = mupnp_statevariable_getvalue(selStateVar); printf("Query Result(%d) = %s\n", (int)querySuccess, (stateValue != NULL) ? stateValue : ""); }