⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upnpdevice.java

📁 OSGI这是一个中间件,与UPNP齐名,是用于移植到嵌入式平台之上
💻 JAVA
字号:
/* * $Header: /cvshome/repository/org/osgi/service/upnp/UPnPDevice.java,v 1.11 2002/09/23 15:41:23 hargrave Exp $ * * Copyright (c) The Open Services Gateway Initiative (2002). * All Rights Reserved. * * Implementation of certain elements of the Open Services Gateway Initiative * (OSGI) Specification may be subject to third party intellectual property * rights, including without limitation, patent rights (such a third party may * or may not be a member of OSGi). OSGi is not responsible and shall not be * held responsible in any manner for identifying or failing to identify any or * all such third party intellectual property rights. * * This document and the information contained herein are provided on an "AS * IS" basis and OSGI DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL * NOT INFRINGE ANY RIGHTS AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL OSGI BE LIABLE FOR ANY * LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF * BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTIAL, * PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN CONNECTION WITH THIS * DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. * * All Company, brand and product names may be trademarks that are the sole * property of their respective owners. All rights reserved. */package org.osgi.service.upnp;import java.util.Dictionary;/** * Represents a UPnP device. * * For each UPnP root and embedded device, an object * is registered with the framework under the <tt>UPnPDevice</tt> * interface. * <p> * The relationship between a root device and its embedded * devices can be deduced using the * <tt>UPnPDevice.CHILDREN_UDN</tt> and * <tt>UPnPDevice.PARENT_UDN</tt> * service registration properties. * <p> * The values of the UPnP property names are defined by the * UPnP Forum. * <p> * All values of the UPnP properties are obtained from the device * using the device's default locale.<p> * If an application wants to query for a set of localized property * values, it has to use the method * <tt>UPnPDevice.getDescriptions(String locale)</tt>. * **/public interface UPnPDevice {    /*     * Constants for the UPnP device match scale.     */    /**     * Constant for the UPnP device match scale, indicating     * a generic match for the device. Value is 1.     **/    int MATCH_GENERIC                            = 1;    /**     * Constant for the UPnP device match scale, indicating     * a match with the device type. Value is 3.     **/    int MATCH_TYPE                               = 3;    /**     * Constant for the UPnP device match scale, indicating     * a match with the device model. Value is 7.     **/    int MATCH_MANUFACTURER_MODEL                 = 7;    /**     * Constant for the UPnP device match scale, indicating     * a match with the device revision. Value is 15.     **/    int MATCH_MANUFACTURER_MODEL_REVISION        = 15;    /**     * Constant for the UPnP device match scale, indicating     * a match with the device revision and the serial number.     * Value is 31.     **/    int MATCH_MANUFACTURER_MODEL_REVISION_SERIAL = 31;    /**     * Constant for the value of the service property     * <tt>DEVICE_CATEGORY</tt> used for     * all UPnP devices. Value is "UPnP".	 * @see org.osgi.service.device.Constants#DEVICE_CATEGORY     **/    String DEVICE_CATEGORY        = "UPnP";    /**     * The <tt>UPnP.export</tt> service property is a hint that marks a device     * to be picked up and exported by the UPnP Service.     * Imported devices do not have this property set.     * The registered property requires no value.<p>The UPNP_EXPORT string is "UPnP.export".     **/    String UPNP_EXPORT            = "UPnP.export";    /**     * Property key for the Unique Device Name (UDN) property.     * It is the unique identifier of an instance of a     * <tt>UPnPDevice</tt>.     * The value of the property is a <tt>String</tt> object of     * the Device UDN. Value of the key is "UPnP.device.UDN". This property must     * be set.     **/    String UDN               = "UPnP.device.UDN";    /**     * Property key for the Unique Device ID property.     * This property is an alias to <tt>UPnPDevice.UDN</tt>.     * It is merely provided for reasons of symmetry with the     * <tt>UPnPService.ID</tt> property.     * The value of the property is a <tt>String</tt> object of     * the Device UDN. The value of the key is "UPnP.device.UDN".     **/    String ID               = UDN;    /**     * Property key for the UPnP Device Type property. Some standard     * property values are defined by the Universal Plug and Play     * Forum. The type string also includes a version number as defined     * in the UPnP specification. This property must be set.<p>     * For standard devices defined by a UPnP Forum     * working committee, this must consist of the following components     * in the given order separated by colons:     * <ul>     * <li><tt>urn</tt></li>     * <li>schemas-upnp-org</li>     * <li><tt>device</tt></li>     * <li>a device type suffix</li>     * <li>an integer device version</li>     * </ul>     * For non-standard devices specified by UPnP vendors following     * components must be specified in the given order separated by colons:     * <ul>     * <li><tt>urn</tt></li>     * <li>an ICANN domain name owned by the vendor</li>     * <li><tt>device</tt></li>     * <li>a device type suffix</li>     * <li>an integer device version</li>     * </ul>     * <p>     * To allow for backward compatibility the UPnP driver must     * automatically generate additional Device Type property entries     * for smaller versions than the current one. If for example a device     * announces its type as version 3, then properties for versions 2     * and 1 must be automatically generated.     * <p>     * In the case of exporting a UPnPDevice, the highest available version     * must be announced on the network.     * <p>     * Syntax Example: <tt>urn:schemas-upnp-org:device:deviceType:v</tt>     * <p>The value is "UPnP.device.type".     **/    String TYPE       = "UPnP.device.type";    /**     * Mandatory property key for the device manufacturer's property. The     * property value holds a String representation of the     * device manufacturer's name. Value is "UPnP.device.manufacturer".     **/    String MANUFACTURER      = "UPnP.device.manufacturer";    /**     * Mandatory property key for the device model name. The property value     * holds a <tt>String</tt> object giving more information about the device model.     * Value is "UPnP.device.modelName".     **/    String MODEL_NAME        = "UPnP.device.modelName";    /**     * Mandatory property key for a short user friendly version of the     * device name. The property value holds a <tt>String</tt> object with the user     * friendly name of the device. Value is "UPnP.device.friendlyName".     **/    String FRIENDLY_NAME     = "UPnP.device.friendlyName";    /**     * Optional property key for a URL to the device manufacturers Web site.     * The value of the property is a <tt>String</tt> object representing the URL.     * Value is "UPnP.device.manufacturerURL".     **/    String MANUFACTURER_URL  = "UPnP.device.manufacturerURL";    /**     * Optional (but recommended) property key for a <tt>String</tt> object     * with a long description of the device for the end user. The value is     * "UPnP.device.modelDescription".     **/    String MODEL_DESCRIPTION = "UPnP.device.modelDescription";    /**     * Optional (but recommended) property key for a <tt>String</tt>  class     * typed property holding the model number of the device. Value is     * "UPnP.device.modelNumber".     **/    String MODEL_NUMBER      = "UPnP.device.modelNumber";    /**     * Optional property key for a <tt>String</tt> typed property holding     * a string representing the URL to the Web site for this model. Value     * is "UPnP.device.modelURL".     **/    String MODEL_URL         = "UPnP.device.modelURL";    /**     * Optional (but recommended) property key for a <tt>String</tt> typed property holding     * the serial number of the device. Value is "UPnP.device.serialNumber".     **/    String SERIAL_NUMBER     = "UPnP.device.serialNumber";    /**     * Optional property key for a <tt>String</tt> typed property holding     * the Universal Product Code (UPC) of the device. Value is "UPnP.device.UPC".     **/    String UPC               = "UPnP.device.UPC";    /**     * Optional (but recommended) property key for a <tt>String</tt> typed property holding     * a string representing the URL to a device representation Web page. Value is     * "UPnP.presentationURL".     **/    String PRESENTATION_URL  = "UPnP.presentationURL";    /**     * The property key that must be set for all embedded     * devices. It contains the UDN of the parent device. The property     * is not set for root devices. The value is "UPnP.device.parentUDN".     **/    String PARENT_UDN        = "UPnP.device.parentUDN";    /**     * The property key that must be set for all devices     * containing other embedded devices.<p> The value is an array of     * UDNs for each of the device's children (<tt>String[]</tt>). The array contains     * UDNs for the immediate descendants only. </p>     *<p>     * If an embedded device in turn contains embedded devices,     * the latter are not included in the array.     *</p>     * The UPnP Specification does not encourage more than two levels of     * nesting.     *<p>     * The property is not set if the device does not contain embedded     * devices.     *<p>     * The property is of type <tt>String[]</tt>. Value is	 * "UPnP.device.childrenUDN"     **/    String CHILDREN_UDN      = "UPnP.device.childrenUDN";    /**     * Locates a specific service by its service id.     *     * @param serviceId The service id     * @return The requested service or null if not found.     **/    UPnPService getService(String serviceId);    /**     * Lists all services provided by this device.     *     * @return Array of services or <tt>null</tt> if no services are available.     **/    UPnPService[] getServices();    /**     * Lists all icons for this device in a given locale.     *     * The UPnP specification allows a device to present different icons     * based on the client's locale.     *     * @param locale A language tag as defined by RFC 1766 and maintained     *               by ISO 639. Examples include "<tt>de</tt>",     *               "<tt>en</tt>" or "<tt>en-US</tt>".     *               The default locale of the device is specified by passing a <tt>null</tt>     *               argument.     *     * @return Array of icons or null if no icons are available.     **/    UPnPIcon[] getIcons(String locale);    /**     * Get a set of localized UPnP properties.     *     * The UPnP specification allows a device to present different device properties     * based on the client's locale.     * The properties used to register the UPnPDevice service in the OSGi     * registry are based on the device's default locale.     * To obtain a localized set of the properties, an application can use     * this method.     * <p>     * Not all properties might be available in all locales.     * This method does <b>not</b> substitute missing properties with their     * default locale versions.     * <p>     * @param locale A language tag as defined by RFC 1766 and maintained     *               by ISO 639. Examples include "<tt>de</tt>",     *               "<tt>en</tt>" or "<tt>en-US</tt>".     *               The default locale of the device is specified by passing a <tt>null</tt>     *               argument.     * @return Dictionary mapping property name Strings to property value Strings     *     **/    Dictionary getDescriptions(String locale);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -