HClientAdapterOpNull HRenderingControlAdapter::setMute( const HChannel& channel, bool desiredMute) { qint32 rc = UpnpUndefinedFailure; HClientAction* action = h_ptr->getAction("SetMute", &rc); if (!action) { return HClientAdapterOpNull::createInvalid(rc, ""); } H_D(HRenderingControlAdapter); HActionArguments inArgs = action->info().inputArguments(); inArgs.setValue("InstanceID", h->m_instanceId); inArgs.setValue("Channel", channel.toString()); inArgs.setValue("DesiredMute", desiredMute); return h_ptr->beginInvoke( action, inArgs, HActionInvokeCallback(h, &HRenderingControlAdapterPrivate::setMute)); }
HClientAdapterOp<QStringList> HRenderingControlAdapter::setStateVariables( const HUdn& renderingControlUdn, const HResourceType& serviceType, const HServiceId& serviceId, const QString& stateVariableValuePairs) { qint32 rc = UpnpUndefinedFailure; HClientAction* action = h_ptr->getAction("SetStateVariables", &rc); if (!action) { return HClientAdapterOp<QStringList>::createInvalid(rc, ""); } H_D(HRenderingControlAdapter); HActionArguments inArgs = action->info().inputArguments(); inArgs.setValue("InstanceID", h->m_instanceId); inArgs.setValue("RenderingControlUDN", renderingControlUdn.toString()); inArgs.setValue("ServiceType", serviceType.toString()); inArgs.setValue("ServiceId", serviceId.toString()); inArgs.setValue("StateVariableValuePairs", stateVariableValuePairs); return h_ptr->beginInvoke<QStringList>( action, inArgs, HActionInvokeCallback(h, &HRenderingControlAdapterPrivate::setStateVariables)); }
bool HMediaServerAdapter::prepareDevice(HClientDevice* device) { H_D(HMediaServerAdapter); HClientService* avTransport = device->serviceById(HServiceId("urn:upnp-org:serviceId:AVTransport")); if (!avTransport) { HClientServices tsServices = device->servicesByType( HAvTransportInfo::supportedServiceType(), HResourceType::Inclusive); if (!tsServices.isEmpty()) { avTransport = tsServices.first(); } } HClientService* cds = device->serviceById( HServiceId("urn:upnp-org:serviceId:ContentDirectory")); if (!cds) { HClientServices cdsServices = device->servicesByType( HContentDirectoryInfo::supportedServiceType(), HResourceType::Inclusive); if (!cdsServices.isEmpty()) { cds = cdsServices.first(); } else { return false; } } HClientService* cm = device->serviceById( HServiceId("urn:upnp-org:serviceId:ConnectionManager")); if (!cm) { HClientServices cmServices = device->servicesByType( HConnectionManagerInfo::supportedServiceType(), HResourceType::Inclusive); if (!cmServices.isEmpty()) { cm = cmServices.first(); } else { return false; } } /*srv = device->serviceById( HServiceId("urn:upnp-org:serviceId:ScheduledRecording")); if (srv) { h->m_scheduledRecording = new HScheduledRecording(); ok = h->m_scheduledRecording->setService(srv); if (!ok) { return false; } }*/ QScopedPointer<HContentDirectoryAdapter> cdsAdapter(new HContentDirectoryAdapter()); if (!cdsAdapter->setService(cds, HClientServiceAdapter::MinimalValidation)) { return false; } QScopedPointer<HConnectionManagerAdapter> cmAdapter(new HConnectionManagerAdapter()); cmAdapter.reset(new HConnectionManagerAdapter()); if (!cmAdapter->setService(cm, HClientServiceAdapter::MinimalValidation)) { return false; } h->m_contentDirectory.reset(cdsAdapter.take()); h->m_connectionManager.reset(cmAdapter.take()); h->m_transport = avTransport; return true; }