fix upnp support to handle embededd devices (#4712)
Signed-off-by: Laurent ARNAL <laurent@clae.net>pull/4715/head
parent
013de041ca
commit
601477d4cf
|
@ -149,6 +149,10 @@ public class UpnpDiscoveryService extends AbstractDiscoveryService
|
||||||
protected void startScan() {
|
protected void startScan() {
|
||||||
for (RemoteDevice device : upnpService.getRegistry().getRemoteDevices()) {
|
for (RemoteDevice device : upnpService.getRegistry().getRemoteDevices()) {
|
||||||
remoteDeviceAdded(upnpService.getRegistry(), device);
|
remoteDeviceAdded(upnpService.getRegistry(), device);
|
||||||
|
|
||||||
|
for (RemoteDevice childDevice : device.getEmbeddedDevices()) {
|
||||||
|
remoteDeviceAdded(upnpService.getRegistry(), childDevice);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
upnpService.getRegistry().addListener(this);
|
upnpService.getRegistry().addListener(this);
|
||||||
upnpService.getControlPoint().search();
|
upnpService.getControlPoint().search();
|
||||||
|
|
|
@ -216,7 +216,7 @@ public class UpnpIOServiceImpl implements UpnpIOService, RegistryListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Device getDevice(UpnpIOParticipant participant) {
|
private Device getDevice(UpnpIOParticipant participant) {
|
||||||
return upnpService.getRegistry().getDevice(new UDN(participant.getUDN()), true);
|
return upnpService.getRegistry().getDevice(new UDN(participant.getUDN()), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -354,7 +354,7 @@ public class UpnpIOServiceImpl implements UpnpIOService, RegistryListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRegistered(UpnpIOParticipant participant) {
|
public boolean isRegistered(UpnpIOParticipant participant) {
|
||||||
return upnpService.getRegistry().getDevice(new UDN(participant.getUDN()), true) != null;
|
return upnpService.getRegistry().getDevice(new UDN(participant.getUDN()), false) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -508,6 +508,10 @@ public class UpnpIOServiceImpl implements UpnpIOService, RegistryListener {
|
||||||
@Override
|
@Override
|
||||||
public void remoteDeviceAdded(Registry registry, RemoteDevice device) {
|
public void remoteDeviceAdded(Registry registry, RemoteDevice device) {
|
||||||
informParticipants(device, true);
|
informParticipants(device, true);
|
||||||
|
|
||||||
|
for (RemoteDevice childDevice : device.getEmbeddedDevices()) {
|
||||||
|
informParticipants(childDevice, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -517,6 +521,10 @@ public class UpnpIOServiceImpl implements UpnpIOService, RegistryListener {
|
||||||
@Override
|
@Override
|
||||||
public void remoteDeviceRemoved(Registry registry, RemoteDevice device) {
|
public void remoteDeviceRemoved(Registry registry, RemoteDevice device) {
|
||||||
informParticipants(device, false);
|
informParticipants(device, false);
|
||||||
|
|
||||||
|
for (RemoteDevice childDevice : device.getEmbeddedDevices()) {
|
||||||
|
informParticipants(childDevice, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue