org.fourthline.cling.model.meta

## Class RemoteDeviceIdentity

- java.lang.Object
- - org.fourthline.cling.model.meta.DeviceIdentity
  - - org.fourthline.cling.model.meta.RemoteDeviceIdentity

- All Implemented Interfaces:
    Validatable

      public class RemoteDeviceIdentity
      extends DeviceIdentity

  Additional identifying information only relevant for discovered remote devices.

  This information always includes the URL of the device's descriptor, and the local network interface address we should use in the future, because it is guaranteed to be reachable by this remote device (e.g. when we build a local callback URL).

  Optional is the remote hosts interface MAC hardware address. If we have it, we can use it to send Wake-On-LAN broadcasts if we think the remote host is not reachable and might be sleeping. (Useful for "stateless" reconnecting control points.)

  Author:
    Christian Bauer

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RemoteDeviceIdentity(IncomingNotificationRequest notificationRequest)`
    `RemoteDeviceIdentity(IncomingSearchResponse searchResponse)`
    `RemoteDeviceIdentity(UDN udn, Integer maxAgeSeconds, URL descriptorURL, byte[] interfaceMacAddress, InetAddress discoveredOnLocalAddress)`
    `RemoteDeviceIdentity(UDN udn, RemoteDeviceIdentity template)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `URL` | `getDescriptorURL()`
    `InetAddress` | `getDiscoveredOnLocalAddress()`
    `byte[]` | `getInterfaceMacAddress()`
    `byte[]` | `getWakeOnLANBytes()`
    `String` | `toString()`

    - ### Methods inherited from class org.fourthline.cling.model.meta.DeviceIdentity

      `equals, getMaxAgeSeconds, getUdn, hashCode, validate`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### RemoteDeviceIdentity

          public RemoteDeviceIdentity(UDN udn,
                                      RemoteDeviceIdentity template)

    - #### RemoteDeviceIdentity

          public RemoteDeviceIdentity(UDN udn,
                                      Integer maxAgeSeconds,
                                      URL descriptorURL,
                                      byte[] interfaceMacAddress,
                                      InetAddress discoveredOnLocalAddress)

    - #### RemoteDeviceIdentity

          public RemoteDeviceIdentity(IncomingNotificationRequest notificationRequest)

    - #### RemoteDeviceIdentity

          public RemoteDeviceIdentity(IncomingSearchResponse searchResponse)

  - ### Method Detail

    - #### getDescriptorURL

          public URL getDescriptorURL()

    - #### getInterfaceMacAddress

          public byte[] getInterfaceMacAddress()

    - #### getDiscoveredOnLocalAddress

          public InetAddress getDiscoveredOnLocalAddress()

    - #### getWakeOnLANBytes

          public byte[] getWakeOnLANBytes()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `DeviceIdentity`

Copyright © 2016 4th Line GmbH, Switzerland. All rights reserved.