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.
<!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>
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:
|
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). |
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>