Java源码示例:org.fourthline.cling.DefaultUpnpServiceConfiguration

示例1
private UpnpServiceConfiguration createServiceConfiguration() {
    return new DefaultUpnpServiceConfiguration() {
        @Override
        public DeviceDescriptorBinder getDeviceDescriptorBinderUDA10() {
            return new SempDeviceDescriptorBinderImpl(this, sempServerUrl);
        }

        @Override
        public StreamClient createStreamClient() {
            // disable the client in order to avoid requesting descriptors from UPnP devices
            return null;
        }

        @Override
        public StreamServer createStreamServer(NetworkAddressFactory networkAddressFactory) {
            return new org.fourthline.cling.transport.impl.apache.StreamServerImpl(
                    new StreamServerConfigurationImpl()
            );
        }
    };
}
 
示例2
@Override
protected List<IRouter> findRoutersInternal() throws RouterException {
    final UpnpServiceConfiguration config = new DefaultUpnpServiceConfiguration();
    final ClingRegistryListener clingRegistryListener = new ClingRegistryListener();
    final UpnpService upnpService = new UpnpServiceImpl(config, clingRegistryListener);
    shutdownServiceOnExit(upnpService);

    final UpnpHeader<?> searchType = new UDADeviceTypeHeader(ClingRegistryListener.IGD_DEVICE_TYPE);
    log.info("Start searching {} for device type {}", DISCOVERY_TIMEOUT, searchType);
    upnpService.getControlPoint().search(searchType, (int) DISCOVERY_TIMEOUT.toSeconds());
    return clingRegistryListener
            .waitForServiceFound(DISCOVERY_TIMEOUT) //
            .map(service -> (RemoteService) service)
            .map(service -> createRouter(service, upnpService)) //
            .collect(toList());
}
 
示例3
public SempDeviceDescriptorBinderImpl(DefaultUpnpServiceConfiguration serviceConfiguration, String sempServerUrl) {
    this.serviceConfiguration = serviceConfiguration;
    this.sempServerUrl = sempServerUrl;
}