The Infocast client configuration dtd

The Infocast client expects an XML formatted object on the metadata channel that describes which channels and objects it should listen to. The object must be called cfg.infocast and should be added in the Infocast server configuration.

Infocast client configuration DTD

<!ELEMENT Infocast (Channel+)>
<!ELEMENT Channel (Object+)>
<!ATTLIST Channel
   address    CDATA #REQUIRED
   port       CDATA #REQUIRED
   connection (Persistent | Reconnected | Once) #REQUIRED
   interval   CDATA #IMPLIED
   timeout    CDATA #IMPLIED>
<!ELEMENT Object EMPTY>
<!ATTLIST Object
  name        CDATA #REQUIRED
  fetch       (Prefetch | OnRequest) #REQUIRED
  countref    (false | true) #IMPLIED>

Infocast client XML description

The Infocast client configuration contains all the Infocast channels the client should listen to and all objects on those channels that the client should fetch. If the object is not in the configuration file it will be ignored by the client and the IP-STB will not get the object.

Each object for a channel is described inside the <Channel> element. The name of the object and whether the object should be fetched on request or as soon as possible is described with the name and fetch attributes to the <Object> elements.

Element Example value Comment
address 224.2.2.2 Multicast channel address.
port 22222 Multicast channel port.
connection once | persistent | reconnected Three different types of connections are possible:
  • once means that the client listens to the channel until it has fetched all the objects it needs from the channel and then disconnects.
  • persistent means that the client listens to the channel all the time to be able to detect objects that change.
  • reconnected means that the client listens until it has fetched all the objects it needs or a timeout occurs and then reconnects with some interval to see if the objects have changed. If the connection type is reconnected the interval and timeout for the connection needs to be specified (the unit is seconds). Observe that the timeout must be smaller than the interval.
interval   Interval for the connection (if type is reconnected) in seconds. Observe that the timeout must be smaller than the interval.
timeout   Timeout for the connection (if type is reconnected) in seconds. Observe that the timeout must be smaller than the interval.
name cfg.portal.proxylist Infocast object name.
fetch Prefetch | OnRequest If an object has the fetch type Prefetch it is fetched as soon as the client discovers it on the channel and if the fetch type is OnRequest the client waits to fetch it until someone has subscribed to the object in the Information Service.

When the fetch type is OnRequest you should specify whether the client should keep track of a reference count for the object with the countref attribute. When the client keeps a reference count it will delete the object, saving valuable memory space, when no references are left to it (no subscriptions in the Information Service).

countref false | true Specifies whether the client should keep track of a reference count for the object. When the client keeps a reference count it will delete the object, saving valuable memory space, when no references are left to it (no subscriptions in the Information Service).

Infocast client configuration XML example

The Infocast client configuration XML example below shows a configuration of a metadata channel and an application install package channel. The metadata channel consists of channel table, portal URLs, home page URL and proxy list. The install package channel consists of an install package for an application.

The client should be persistently connected to the metadata channel and all objects on it should be prefetched. The install package channel should be reconnected, that is it should be connected to at specific intervals, and the install package should only be fetched on request.

<?xml version="1.0" encoding="iso-8859-1"?>
<Infocast>
  <Channel address="224.2.2.2" port="22222" connection="Persistent">
    <Object name="cfg.media.channeltable" fetch="Prefetch"/>
    <Object name="cfg.portal.whitelisturls" fetch="Prefetch"/>
    <Object name="cfg.portal.proxylist" fetch="Prefetch"/>
  </Channel>

  <Channel address="224.42.42.42" port="12345"
           connection="Reconnected" interval="60" timeout="10">
    <Object name="install.app.star_blaze"
            fetch="OnRequest" countref="true"/>
  </Channel>
</Infocast>