Top Description Fields Methods
org.osgi.service.upnp

public Interface UPnPDevice

Imports
java.util.Dictionary

Represents a UPnP device. For each UPnP root and embedded device, an object is registered with the framework under the UPnPDevice interface.

The relationship between a root device and its embedded devices can be deduced using the UPnPDevice.CHILDREN_UDN and UPnPDevice.PARENT_UDN service 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).

Author
$Id: 2d6f1cc601a87117fef337d55e7fe2f8ee887b77 $

Field Summary

Modifier and TypeField and Description
public static final String
CHILDREN_UDN

The property key that must be set for all devices containing other embedded devices.

public static final String
DEVICE_CATEGORY

Constant for the value of the service property DEVICE_CATEGORY used for all UPnP devices.

public static final String
FRIENDLY_NAME

Mandatory property key for a short user friendly version of the device name.

public static final String
ID

Property key for the Unique Device ID property.

public static final String
MANUFACTURER

Mandatory property key for the device manufacturer's property.

public static final String
MANUFACTURER_URL

Optional property key for a URL to the device manufacturers Web site.

public static final int
MATCH_GENERIC

Constant for the UPnP device match scale, indicating a generic match for the device.

public static final int
MATCH_MANUFACTURER_MODEL

Constant for the UPnP device match scale, indicating a match with the device model.

public static final int
MATCH_MANUFACTURER_MODEL_REVISION

Constant for the UPnP device match scale, indicating a match with the device revision.

public 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.

public static final int
MATCH_TYPE

Constant for the UPnP device match scale, indicating a match with the device type.

public static final String
MODEL_DESCRIPTION

Optional (but recommended) property key for a String object with a long description of the device for the end user.

public static final String
MODEL_NAME

Mandatory property key for the device model name.

public static final String
MODEL_NUMBER

Optional (but recommended) property key for a String class typed property holding the model number of the device.

public static final String
MODEL_URL

Optional property key for a String typed property holding a string representing the URL to the Web site for this model.

public static final String
PARENT_UDN

The property key that must be set for all embedded devices.

public static final String
PRESENTATION_URL

Optional (but recommended) property key for a String typed property holding a string representing the URL to a device representation Web page.

public static final String
SERIAL_NUMBER

Optional (but recommended) property key for a String typed property holding the serial number of the device.

public static final String
TYPE

Property key for the UPnP Device Type property.

public static final String
UDN

Property key for the Unique Device Name (UDN) property.

public static final String
UPC

Optional property key for a String typed property holding the Universal Product Code (UPC) of the device.

public static final String
UPNP_EXPORT

The UPnP.export service property is a hint that marks a device to be picked up and exported by the UPnP Service.

Method Summary

Modifier and TypeMethod and Description
public Dictionary<String, Object>

Returns:

Dictionary mapping property name Strings to property value Strings
getDescriptions
(String
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 a null argument.
locale
)

Get a set of localized UPnP properties.

public UPnPIcon[]

Returns:

Array of icons or null if no icons are available.
getIcons
(String
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 a null argument.
locale
)

Lists all icons for this device in a given locale.

public UPnPService

Returns:

The requested service or null if not found.
getService
(String
The service id
serviceId
)

Locates a specific service by its service id.

public UPnPService[]

Returns:

Array of services or null if no services are available.
getServices
()

Lists all services provided by this device.

Field Detail

CHILDREN_UDNback to summary
public static final 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"

DEVICE_CATEGORYback to summary
public static final String DEVICE_CATEGORY

Constant for the value of the service property DEVICE_CATEGORY used for all UPnP devices. Value is "UPnP".

See Also
org.osgi.service.device.Constants.DEVICE_CATEGORY
FRIENDLY_NAMEback to summary
public static final String FRIENDLY_NAME

Mandatory property key for a short user friendly version of the device name. The property value holds a String object with the user friendly name of the device. Value is "UPnP.device.friendlyName".

IDback to summary
public static final String ID

Property key for the Unique Device ID property. This property is an alias to UPnPDevice.UDN. It is merely provided for reasons of symmetry with the UPnPService.ID property. The value of the property is a String object of the Device UDN. The value of the key is "UPnP.device.UDN".

MANUFACTURERback to summary
public static final 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".

MANUFACTURER_URLback to summary
public static final String MANUFACTURER_URL

Optional property key for a URL to the device manufacturers Web site. The value of the property is a String object representing the URL. Value is "UPnP.device.manufacturerURL".

MATCH_GENERICback to summary
public static final int MATCH_GENERIC

Constant for the UPnP device match scale, indicating a generic match for the device. Value is 1.

MATCH_MANUFACTURER_MODELback to summary
public static final int MATCH_MANUFACTURER_MODEL

Constant for the UPnP device match scale, indicating a match with the device model. Value is 7.

MATCH_MANUFACTURER_MODEL_REVISIONback to summary
public static final int MATCH_MANUFACTURER_MODEL_REVISION

Constant for the UPnP device match scale, indicating a match with the device revision. Value is 15.

MATCH_MANUFACTURER_MODEL_REVISION_SERIALback to summary
public 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.

MATCH_TYPEback to summary
public static final int MATCH_TYPE

Constant for the UPnP device match scale, indicating a match with the device type. Value is 3.

MODEL_DESCRIPTIONback to summary
public static final String MODEL_DESCRIPTION

Optional (but recommended) property key for a String object with a long description of the device for the end user. The value is "UPnP.device.modelDescription".

MODEL_NAMEback to summary
public static final String MODEL_NAME

Mandatory property key for the device model name. The property value holds a String object giving more information about the device model. Value is "UPnP.device.modelName".

MODEL_NUMBERback to summary
public static final String MODEL_NUMBER

Optional (but recommended) property key for a String class typed property holding the model number of the device. Value is "UPnP.device.modelNumber".

MODEL_URLback to summary
public static final String MODEL_URL

Optional property key for a String typed property holding a string representing the URL to the Web site for this model. Value is "UPnP.device.modelURL".

PARENT_UDNback to summary
public static final 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".

PRESENTATION_URLback to summary
public static final String PRESENTATION_URL

Optional (but recommended) property key for a String typed property holding a string representing the URL to a device representation Web page. Value is "UPnP.presentationURL".

SERIAL_NUMBERback to summary
public static final String SERIAL_NUMBER

Optional (but recommended) property key for a String typed property holding the serial number of the device. Value is "UPnP.device.serialNumber".

TYPEback to summary
public static final 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
For non-standard devices specified by UPnP vendors following components must be specified in the given order separated by colons:
  • 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:v

The value is "UPnP.device.type".

UDNback to summary
public static final String UDN

Property key for the Unique Device Name (UDN) property. It is the unique identifier of an instance of a UPnPDevice. The value of the property is a String object of the Device UDN. Value of the key is "UPnP.device.UDN". This property must be set.

UPCback to summary
public static final String UPC

Optional property key for a String typed property holding the Universal Product Code (UPC) of the device. Value is "UPnP.device.UPC".

UPNP_EXPORTback to summary
public static final String UPNP_EXPORT

The UPnP.export 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.

The UPNP_EXPORT string is "UPnP.export".

Method Detail

getDescriptionsback to summary
public Dictionary<String, Object> getDescriptions(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:String

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 a null argument.

Returns:Dictionary<String, Object>

Dictionary mapping property name Strings to property value Strings

getIconsback to summary
public UPnPIcon[] getIcons(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:String

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 a null argument.

Returns:UPnPIcon[]

Array of icons or null if no icons are available.

Exceptions
IllegalStateException:
if the UPnP device has been removed from the network.
getServiceback to summary
public UPnPService getService(String serviceId)

Locates a specific service by its service id.

Parameters
serviceId:String

The service id

Returns:UPnPService

The requested service or null if not found.

Exceptions
IllegalStateException:
if the UPnP device has been removed from the network.
getServicesback to summary
public UPnPService[] getServices()

Lists all services provided by this device.

Returns:UPnPService[]

Array of services or null if no services are available.

Exceptions
IllegalStateException:
if the UPnP device has been removed from the network.