Classes

The following classes are available globally.

  • A class representing a device discovered via the DIAL protocol.

    See more

    Declaration

    Objective-C

    @interface DIALDevice : NSObject <NSCopying>

    Swift

    class DIALDevice : NSObject, NSCopying
    • Class to represent an device discovery task. A task is launched when a service of this type urn:dial-multiscreen-org:service:dial:1 is discovered via SSDP (by the SSDPServiceDiscovery module). An M-SEARCH request sent by the SSDPServiceDiscovery object results in a response containing a LOCATION header containing an absolute HTTP URL for the UPnP description of the root device.

    On receipt of the M-SEARCH response, a DIALDeviceDiscoveryTask is created and it issues an HTTP GET request to the URL received in the LOCATION header of the M-SEARCH response.

    On receipt of a valid HTTP GET for the device description, a DIAL server SHALL respond with an HTTP response containing the UPnP device description. If the request is successful, the HTTP response contains an additional header field, Application­URL. This URL identifies the DIAL REST Service and is referred to as the DIAL REST Service URL.

    The DIAL REST service represents applications (for example Netflix, YouTube, etc.) as resources identified by URLs. Operations related to an application are performed by issuing HTTP requests against the URL for that application. This URL is known as an Application Resource URL. The Application Resource URL for an application is constructed by concatenating the DIAL REST Service URL, a single slash character (‘/’) and the Application Name (See appName property).

    The progress of the discovery task can be checked via the status property.

    See more

    Declaration

    Objective-C

    @interface DIALDeviceDiscoveryTask
        : NSObject <NSURLConnectionDelegate, NSXMLParserDelegate>

    Swift

    class DIALDeviceDiscoveryTask : NSObject, NSURLConnectionDelegate, XMLParserDelegate
  • The main class device discovery using the DIAL protocol. It discovers devices that run a DIAL server and HbbTV applications. In the first step of the discovery process, it uses the SSDPServiceDiscovery module to discover services of type DIAL_MultiScreenOrgService1. Subsequently, DIALAppDiscoveryTasks are created and launched to take over the remainder of the HbbTV app discovery: 1) the Device Description request and 2) the Application Information request.

    The list of discovered apps can be obtained by calling the getDiscoveredDIALDevices() method.

    Events produced: {DIALAppDiscoveryNotif, DIALAppExpiryNotif} 1. DIALAppDiscoveryNotif: an NSNotification object containing a newly discovered HbbTV app, which is broadcast to other objects 2. DIALAppExpiryNotif: an NSNotification object for notifying that an HbbTV app host is off the network and the app has expired.

     Events required: None.
    
    See more

    Declaration

    Objective-C

    @interface DIALServiceDiscovery
        : NSObject <SSDPServiceDiscoveryDelegate, DIALDeviceDiscoveryTaskDelegate>

    Swift

    class DIALServiceDiscovery : NSObject, SSDPServiceDiscoveryDelegate, DIALDeviceDiscoveryTaskDelegate
  • A description of a device discovered via UPnP (SSDP). A DeviceDescription instance is created

    See more

    Declaration

    Objective-C

    @interface DeviceDescription : NSObject

    Swift

    class DeviceDescription : NSObject
  • Class representing a UPnP service

    See more

    Declaration

    Objective-C

    @interface SSDPService : NSObject <NSCopying>

    Swift

    class SSDPService : NSObject, NSCopying
  • A class for discovering UPnP devices supporting a particular service type in the local network. This class listens for service advertisments on the UPnP multicast address/port and, maintains soft -state e.g. discovered service descriptions. All discovered services are held in an internal services table. Changes in services table membership are notified to a delegate via the SSDPServiceDiscoveryDelegate protocol.

    See more

    Declaration

    Objective-C

    @interface SSDPServiceDiscovery : NSObject

    Swift

    class SSDPServiceDiscovery : NSObject