org.fourthline.cling.model.meta.Device类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(165)

本文整理了Java中org.fourthline.cling.model.meta.Device类的一些代码示例,展示了Device类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Device类的具体详情如下:
包路径:org.fourthline.cling.model.meta.Device
类名称:Device

Device介绍

[英]Describes either a root or embedded device.
[中]描述根设备或嵌入式设备。

代码示例

代码示例来源:origin: 4thline/cling

  1. @Override
  2. public Service getMatchingAVTransportService(Device device, List<ProtocolInfo> infos, Res resource) {
  3. final Service avTransportService =
  4. device.findService(SUPPORTED_AV_TRANSPORT_TYPE);
  5. return avTransportService != null && isProtocolInfoMatch(infos, resource)
  6. ? avTransportService : null;
  7. }

代码示例来源:origin: 4thline/cling

  1. public List<ValidationError> validate() {
  2. List<ValidationError> errors = new ArrayList<>();
  3. if (getType() != null) {
  4. // Only validate the graph if we have a device type - that means we validate only if there
  5. // actually is a fully hydrated graph, not just a discovered device of which we haven't even
  6. // retrieved the descriptor yet. This assumes that the descriptor will ALWAYS contain a device
  7. // type. Now that is a risky assumption...
  8. errors.addAll(getVersion().validate());
  9. if(getIdentity() != null) {
  10. errors.addAll(getIdentity().validate());
  11. }
  12. if (getDetails() != null) {
  13. errors.addAll(getDetails().validate());
  14. }
  15. if (hasServices()) {
  16. for (Service service : getServices()) {
  17. if (service != null)
  18. errors.addAll(service.validate());
  19. }
  20. }
  21. if (hasEmbeddedDevices()) {
  22. for (Device embeddedDevice : getEmbeddedDevices()) {
  23. if (embeddedDevice != null)
  24. errors.addAll(embeddedDevice.validate());
  25. }
  26. }
  27. }
  28. return errors;
  29. }

代码示例来源:origin: 4thline/cling

  1. @Override
  2. public String toString() {
  3. String name =
  4. getDevice().getDetails() != null && getDevice().getDetails().getFriendlyName() != null
  5. ? getDevice().getDetails().getFriendlyName()
  6. : getDevice().getDisplayString();
  7. // Display a little star while the device is being loaded (see performance optimization earlier)
  8. return device.isFullyHydrated() ? name : name + " *";
  9. }
  10. }

代码示例来源:origin: 4thline/cling

  1. public S[] findServices(ServiceType serviceType) {
  2. return toServiceArray(findServices(serviceType, null, (D) this));
  3. }

代码示例来源:origin: 4thline/cling

  1. protected Collection<D> findEmbeddedDevices(D current) {
  2. Collection<D> devices = new HashSet<>();
  3. if (!current.isRoot() && current.getIdentity().getUdn() != null)
  4. devices.add(current);
  5. if (current.hasEmbeddedDevices()) {
  6. for (D embeddedDevice : (D[]) current.getEmbeddedDevices()) {
  7. devices.addAll(findEmbeddedDevices(embeddedDevice));
  8. }
  9. }
  10. return devices;
  11. }

代码示例来源:origin: 4thline/cling

  1. protected Collection<D> find(DeviceType deviceType, D current) {
  2. Collection<D> devices = new HashSet<>();
  3. // Type might be null if we just discovered the device and it hasn't yet been hydrated
  4. if (current.getType() != null && current.getType().implementsVersion(deviceType)) {
  5. devices.add(current);
  6. }
  7. if (current.hasEmbeddedDevices()) {
  8. for (D embeddedDevice : (D[]) current.getEmbeddedDevices()) {
  9. devices.addAll(find(deviceType, embeddedDevice));
  10. }
  11. }
  12. return devices;
  13. }

代码示例来源:origin: 4thline/cling

  1. addIfNotNull(deviceNode, "UDN: ", device.getIdentity().getUdn());
  2. addIfNotNull(deviceNode, "Device Type: ", device.getType().toString());
  3. if (device.getDetails().getDlnaDocs() != null) {
  4. for (DLNADoc dlnaDoc : device.getDetails().getDlnaDocs()) {
  5. addIfNotNull(deviceNode, "DLNA Doc: ", dlnaDoc);
  6. addIfNotNull(deviceNode, "DLNA Caps: ", device.getDetails().getDlnaCaps());
  7. addIfNotNull(deviceNode, "Manufacturer: ", device.getDetails().getManufacturerDetails().getManufacturer());
  8. addIfNotNull(deviceNode, "Manufacturer URL/URI: ", device.getDetails().getManufacturerDetails().getManufacturerURI(), device);
  9. addIfNotNull(deviceNode, "Model Name: ", device.getDetails().getModelDetails().getModelName());
  10. addIfNotNull(deviceNode, "Model #: ", device.getDetails().getModelDetails().getModelNumber());
  11. addIfNotNull(deviceNode, "Model Description: ", device.getDetails().getModelDetails().getModelDescription());
  12. addIfNotNull(deviceNode, "Model URL/URI: ", device.getDetails().getModelDetails().getModelURI(), device);
  13. addIfNotNull(deviceNode, "Serial #: ", device.getDetails().getSerialNumber());
  14. addIfNotNull(deviceNode, "Universal Product Code: ", device.getDetails().getUpc());
  15. addIfNotNull(deviceNode, "Presentation URI: ", device.getDetails().getPresentationURI(), device);
  16. if (device.hasIcons()) {
  17. for (Icon icon : device.getIcons()) {
  18. deviceNode.add(new DefaultMutableTreeNode(icon));
  19. if (device.hasServices()) {
  20. for (Service service : device.getServices()) {
  21. DefaultMutableTreeNode serviceNode = new DefaultMutableTreeNode(service);
  22. deviceNode.add(serviceNode);
  23. if (device.hasEmbeddedDevices()) {

代码示例来源:origin: 4thline/cling

  1. protected Service discoverConnectionService(Device device) {
  2. if (!device.getType().equals(IGD_DEVICE_TYPE)) {
  3. return null;
  4. }
  5. Device[] connectionDevices = device.findDevices(CONNECTION_DEVICE_TYPE);
  6. if (connectionDevices.length == 0) {
  7. log.fine("IGD doesn't support '" + CONNECTION_DEVICE_TYPE + "': " + device);
  8. return null;
  9. }
  10. Device connectionDevice = connectionDevices[0];
  11. log.fine("Using first discovered WAN connection device: " + connectionDevice);
  12. Service ipConnectionService = connectionDevice.findService(IP_SERVICE_TYPE);
  13. Service pppConnectionService = connectionDevice.findService(PPP_SERVICE_TYPE);
  14. if (ipConnectionService == null && pppConnectionService == null) {
  15. log.fine("IGD doesn't support IP or PPP WAN connection service: " + device);
  16. }
  17. return ipConnectionService != null ? ipConnectionService : pppConnectionService;
  18. }

代码示例来源:origin: 4thline/cling

  1. public DeviceDetails getDetails(RemoteClientInfo info) {
  2. return this.getDetails();
  3. }

代码示例来源:origin: 4thline/cling

  1. appendNewElementIfNotNull(descriptor, deviceElement, ELEMENT.deviceType, deviceModel.getType());
  2. DeviceDetails deviceModelDetails = deviceModel.getDetails(info);
  3. appendNewElementIfNotNull(
  4. descriptor, deviceElement, ELEMENT.friendlyName,
  5. deviceModelDetails.getSerialNumber()
  6. );
  7. appendNewElementIfNotNull(descriptor, deviceElement, ELEMENT.UDN, deviceModel.getIdentity().getUdn());
  8. appendNewElementIfNotNull(
  9. descriptor, deviceElement, ELEMENT.presentationURL,

代码示例来源:origin: 4thline/cling

  1. Device nodeDevice = (Device) node.getUserObject();
  2. if (nodeDevice.isRoot()) {
  3. if (rootDeviceIcon != null) {
  4. setIcon(new ImageIcon(rootDeviceIcon.getImage().getScaledInstance(24, 24, java.awt.Image.SCALE_SMOOTH)));
  5. nodeDevice.getDisplayString()
  6. + " (UPnP Version: " + nodeDevice.getVersion().getMajor() + "." + nodeDevice.getVersion().getMinor() + ")"
  7. );
  8. setText(nodeDevice.getDetails().getFriendlyName());

代码示例来源:origin: 4thline/cling

  1. public String getDetailsMessage() {
  2. StringBuilder sb = new StringBuilder();
  3. if (getDevice().isFullyHydrated()) {
  4. sb.append(getDevice().getDisplayString());
  5. sb.append("\n\n");
  6. for (Service service : getDevice().getServices()) {
  7. sb.append(service.getServiceType()).append("\n");
  8. }
  9. } else {
  10. sb.append(getString(R.string.deviceDetailsNotYetAvailable));
  11. }
  12. return sb.toString();
  13. }
  14. // DOC:DETAILS

代码示例来源:origin: 4thline/cling

  1. @Override
  2. public int indexOf(Object o) {
  3. if (o instanceof Device) {
  4. Device device = (Device) o;
  5. DeviceItem display = new DeviceItem(device, device.getDisplayString());
  6. return indexOf(display);
  7. }
  8. return super.indexOf(o);
  9. }

代码示例来源:origin: 4thline/cling

  1. protected Collection<S> findServices(ServiceType serviceType, ServiceId serviceId, D current) {
  2. Collection services = new HashSet<>();
  3. if (current.hasServices()) {
  4. for (Service service : current.getServices()) {
  5. if (isMatch(service, serviceType, serviceId))
  6. services.add(service);
  7. }
  8. }
  9. Collection<D> embeddedDevices = findEmbeddedDevices(current);
  10. if (embeddedDevices != null) {
  11. for (D embeddedDevice : embeddedDevices) {
  12. if (embeddedDevice.hasServices()) {
  13. for (Service service : embeddedDevice.getServices()) {
  14. if (isMatch(service, serviceType, serviceId))
  15. services.add(service);
  16. }
  17. }
  18. }
  19. }
  20. return services;
  21. }

代码示例来源:origin: tinyMediaManager/tinyMediaManager

  1. /**
  2. * Sets a device as our player for play/stop and other services<br>
  3. * Use getAvailablePlayers() for a list of them.
  4. *
  5. * @param device
  6. * device for playing
  7. */
  8. public void setPlayer(Device device) {
  9. this.playerService = device.findService(new UDAServiceId("AVTransport"));
  10. if (this.playerService == null) {
  11. LOGGER.warn("Could not find AVTransportService on device " + device.getDisplayString());
  12. }
  13. }

代码示例来源:origin: 4thline/cling

  1. protected D find(UDN udn, D current) {
  2. if (current.getIdentity() != null && current.getIdentity().getUdn() != null) {
  3. if (current.getIdentity().getUdn().equals(udn)) return current;
  4. }
  5. if (current.hasEmbeddedDevices()) {
  6. for (D embeddedDevice : (D[]) current.getEmbeddedDevices()) {
  7. D match;
  8. if ((match = find(udn, embeddedDevice)) != null) return match;
  9. }
  10. }
  11. return null;
  12. }

代码示例来源:origin: 4thline/cling

  1. public S findService(ServiceId serviceId) {
  2. Collection<S> services = findServices(null, serviceId, (D) this);
  3. return services.size() == 1 ? services.iterator().next() : null;
  4. }

代码示例来源:origin: 4thline/cling

  1. public DeviceItem(Device device, String... label) {
  2. this.udn = device.getIdentity().getUdn();
  3. this.device = device;
  4. this.label = label;
  5. }

代码示例来源:origin: 4thline/cling

  1. public void init(Service service) {
  2. this.service = service;
  3. view.setPresenter(this);
  4. view.setTitle("WAN IP Connection on " + service.getDevice().getRoot().getDetails().getFriendlyName());
  5. portMappingPresenter.init(
  6. view.getPortMappingListView(),
  7. view.getPortMappingEditView(),
  8. service,
  9. this
  10. );
  11. updateConnectionInfo();
  12. }

代码示例来源:origin: 4thline/cling

  1. protected void generateServiceList(Namespace namespace, Device deviceModel, Document descriptor, Element deviceElement) {
  2. if (!deviceModel.hasServices()) return;
  3. Element serviceListElement = appendNewElement(descriptor, deviceElement, ELEMENT.serviceList);
  4. for (Service service : deviceModel.getServices()) {
  5. Element serviceElement = appendNewElement(descriptor, serviceListElement, ELEMENT.service);
  6. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.serviceType, service.getServiceType());
  7. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.serviceId, service.getServiceId());
  8. if (service instanceof RemoteService) {
  9. RemoteService rs = (RemoteService) service;
  10. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.SCPDURL, rs.getDescriptorURI());
  11. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.controlURL, rs.getControlURI());
  12. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.eventSubURL, rs.getEventSubscriptionURI());
  13. } else if (service instanceof LocalService) {
  14. LocalService ls = (LocalService) service;
  15. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.SCPDURL, namespace.getDescriptorPath(ls));
  16. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.controlURL, namespace.getControlPath(ls));
  17. appendNewElementIfNotNull(descriptor, serviceElement, ELEMENT.eventSubURL, namespace.getEventSubscriptionPath(ls));
  18. }
  19. }
  20. }

相关文章