Interface UPnPDevice
-
public interface UPnPDeviceRepresents a UPnP device. For each UPnP root and embedded device, an object is registered with the framework under theUPnPDeviceinterface.The relationship between a root device and its embedded devices can be deduced using the
UPnPDevice.CHILDREN_UDNandUPnPDevice.PARENT_UDNservice registration properties.The values of the UPnP property names are defined by the UPnP Forum.
All values of the UPnP properties are obtained from the device using the device's default locale.
If an application wants to query for a set of localized property values, it has to use the method
UPnPDevice.getDescriptions(String locale).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCHILDREN_UDNThe property key that must be set for all devices containing other embedded devices.static java.lang.StringDEVICE_CATEGORYConstant for the value of the service propertyDEVICE_CATEGORYused for all UPnP devices.static java.lang.StringFRIENDLY_NAMEMandatory property key for a short user friendly version of the device name.static java.lang.StringIDProperty key for the Unique Device ID property.static java.lang.StringMANUFACTURERMandatory property key for the device manufacturer's property.static java.lang.StringMANUFACTURER_URLOptional property key for a URL to the device manufacturers Web site.static intMATCH_GENERICConstant for the UPnP device match scale, indicating a generic match for the device.static intMATCH_MANUFACTURER_MODELConstant for the UPnP device match scale, indicating a match with the device model.static intMATCH_MANUFACTURER_MODEL_REVISIONConstant for the UPnP device match scale, indicating a match with the device revision.static intMATCH_MANUFACTURER_MODEL_REVISION_SERIALConstant for the UPnP device match scale, indicating a match with the device revision and the serial number.static intMATCH_TYPEConstant for the UPnP device match scale, indicating a match with the device type.static java.lang.StringMODEL_DESCRIPTIONOptional (but recommended) property key for aStringobject with a long description of the device for the end user.static java.lang.StringMODEL_NAMEMandatory property key for the device model name.static java.lang.StringMODEL_NUMBEROptional (but recommended) property key for aStringclass typed property holding the model number of the device.static java.lang.StringMODEL_URLOptional property key for aStringtyped property holding a string representing the URL to the Web site for this model.static java.lang.StringPARENT_UDNThe property key that must be set for all embedded devices.static java.lang.StringPRESENTATION_URLOptional (but recommended) property key for aStringtyped property holding a string representing the URL to a device representation Web page.static java.lang.StringSERIAL_NUMBEROptional (but recommended) property key for aStringtyped property holding the serial number of the device.static java.lang.StringTYPEProperty key for the UPnP Device Type property.static java.lang.StringUDNProperty key for the Unique Device Name (UDN) property.static java.lang.StringUPCOptional property key for aStringtyped property holding the Universal Product Code (UPC) of the device.static java.lang.StringUPNP_EXPORTTheUPnP.exportservice property is a hint that marks a device to be picked up and exported by the UPnP Service.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Dictionary<java.lang.String,java.lang.String>getDescriptions(java.lang.String locale)Get a set of localized UPnP properties.UPnPIcon[]getIcons(java.lang.String locale)Lists all icons for this device in a given locale.UPnPServicegetService(java.lang.String serviceId)Locates a specific service by its service id.UPnPService[]getServices()Lists all services provided by this device.
-
-
-
Field Detail
-
MATCH_GENERIC
static final int MATCH_GENERIC
Constant for the UPnP device match scale, indicating a generic match for the device. Value is 1.- See Also:
- Constant Field Values
-
MATCH_TYPE
static final int MATCH_TYPE
Constant for the UPnP device match scale, indicating a match with the device type. Value is 3.- See Also:
- Constant Field Values
-
MATCH_MANUFACTURER_MODEL
static final int MATCH_MANUFACTURER_MODEL
Constant for the UPnP device match scale, indicating a match with the device model. Value is 7.- See Also:
- Constant Field Values
-
MATCH_MANUFACTURER_MODEL_REVISION
static final int MATCH_MANUFACTURER_MODEL_REVISION
Constant for the UPnP device match scale, indicating a match with the device revision. Value is 15.- See Also:
- Constant Field Values
-
MATCH_MANUFACTURER_MODEL_REVISION_SERIAL
static final int MATCH_MANUFACTURER_MODEL_REVISION_SERIAL
Constant for the UPnP device match scale, indicating a match with the device revision and the serial number. Value is 31.- See Also:
- Constant Field Values
-
DEVICE_CATEGORY
static final java.lang.String DEVICE_CATEGORY
Constant for the value of the service propertyDEVICE_CATEGORYused for all UPnP devices. Value is "UPnP".- See Also:
- "org.osgi.service.device.Constants.DEVICE_CATEGORY", Constant Field Values
-
UPNP_EXPORT
static final java.lang.String UPNP_EXPORT
TheUPnP.exportservice 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.The UPNP_EXPORT string is "UPnP.export".
- See Also:
- Constant Field Values
-
UDN
static final java.lang.String UDN
Property key for the Unique Device Name (UDN) property. It is the unique identifier of an instance of aUPnPDevice. The value of the property is aStringobject of the Device UDN. Value of the key is "UPnP.device.UDN". This property must be set.- See Also:
- Constant Field Values
-
ID
static final java.lang.String ID
Property key for the Unique Device ID property. This property is an alias toUPnPDevice.UDN. It is merely provided for reasons of symmetry with theUPnPService.IDproperty. The value of the property is aStringobject of the Device UDN. The value of the key is "UPnP.device.UDN".- See Also:
- Constant Field Values
-
TYPE
static final java.lang.String TYPE
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.For standard devices defined by a UPnP Forum working committee, this must consist of the following components in the given order separated by colons:
urn- schemas-upnp-org
device- a device type suffix
- an integer device version
urn- an ICANN domain name owned by the vendor
device- a device type suffix
- an integer device version
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.
In the case of exporting a UPnPDevice, the highest available version must be announced on the network.
Syntax Example:
urn:schemas-upnp-org:device:deviceType:vThe value is "UPnP.device.type".
- See Also:
- Constant Field Values
-
MANUFACTURER
static final java.lang.String MANUFACTURER
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".- See Also:
- Constant Field Values
-
MODEL_NAME
static final java.lang.String MODEL_NAME
Mandatory property key for the device model name. The property value holds aStringobject giving more information about the device model. Value is "UPnP.device.modelName".- See Also:
- Constant Field Values
-
FRIENDLY_NAME
static final java.lang.String FRIENDLY_NAME
Mandatory property key for a short user friendly version of the device name. The property value holds aStringobject with the user friendly name of the device. Value is "UPnP.device.friendlyName".- See Also:
- Constant Field Values
-
MANUFACTURER_URL
static final java.lang.String MANUFACTURER_URL
Optional property key for a URL to the device manufacturers Web site. The value of the property is aStringobject representing the URL. Value is "UPnP.device.manufacturerURL".- See Also:
- Constant Field Values
-
MODEL_DESCRIPTION
static final java.lang.String MODEL_DESCRIPTION
Optional (but recommended) property key for aStringobject with a long description of the device for the end user. The value is "UPnP.device.modelDescription".- See Also:
- Constant Field Values
-
MODEL_NUMBER
static final java.lang.String MODEL_NUMBER
Optional (but recommended) property key for aStringclass typed property holding the model number of the device. Value is "UPnP.device.modelNumber".- See Also:
- Constant Field Values
-
MODEL_URL
static final java.lang.String MODEL_URL
Optional property key for aStringtyped property holding a string representing the URL to the Web site for this model. Value is "UPnP.device.modelURL".- See Also:
- Constant Field Values
-
SERIAL_NUMBER
static final java.lang.String SERIAL_NUMBER
Optional (but recommended) property key for aStringtyped property holding the serial number of the device. Value is "UPnP.device.serialNumber".- See Also:
- Constant Field Values
-
UPC
static final java.lang.String UPC
Optional property key for aStringtyped property holding the Universal Product Code (UPC) of the device. Value is "UPnP.device.UPC".- See Also:
- Constant Field Values
-
PRESENTATION_URL
static final java.lang.String PRESENTATION_URL
Optional (but recommended) property key for aStringtyped property holding a string representing the URL to a device representation Web page. Value is "UPnP.presentationURL".- See Also:
- Constant Field Values
-
PARENT_UDN
static final java.lang.String PARENT_UDN
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".- See Also:
- Constant Field Values
-
CHILDREN_UDN
static final java.lang.String CHILDREN_UDN
The property key that must be set for all devices containing other embedded devices.The value is an array of UDNs for each of the device's children (
String[]). The array contains UDNs for the immediate descendants only.If an embedded device in turn contains embedded devices, the latter are not included in the array.
The UPnP Specification does not encourage more than two levels of nesting.The property is not set if the device does not contain embedded devices.
The property is of type
String[]. Value is "UPnP.device.childrenUDN"- See Also:
- Constant Field Values
-
-
Method Detail
-
getService
UPnPService getService(java.lang.String serviceId)
Locates a specific service by its service id.- Parameters:
serviceId- The service id- Returns:
- The requested service or null if not found.
- Throws:
java.lang.IllegalStateException- if the UPnP device has been removed from the network.
-
getServices
UPnPService[] getServices()
Lists all services provided by this device.- Returns:
- Array of services or
nullif no services are available. - Throws:
java.lang.IllegalStateException- if the UPnP device has been removed from the network.
-
getIcons
UPnPIcon[] getIcons(java.lang.String locale)
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.- Parameters:
locale- A language tag as defined by RFC 1766 and maintained by ISO 639. Examples include "de", "en" or "en-US". The default locale of the device is specified by passing anullargument.- Returns:
- Array of icons or null if no icons are available.
- Throws:
java.lang.IllegalStateException- if the UPnP device has been removed from the network.
-
getDescriptions
java.util.Dictionary<java.lang.String,java.lang.String> getDescriptions(java.lang.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.Not all properties might be available in all locales. This method does not substitute missing properties with their default locale versions.
This method must continue to return the properties after the UPnP device has been removed from the network.
- Parameters:
locale- A language tag as defined by RFC 1766 and maintained by ISO 639. Examples include "de", "en" or "en-US". The default locale of the device is specified by passing anullargument.- Returns:
- Dictionary mapping property name Strings to property value Strings
-
-