Channel is basic store and query unit of Channel Service. It is the associated set of video and audio and subtitle components that can be played through STB. It's comparable to the concept of program in PSI or service in SI. A channel in the channel service has a unique id and a set of associated properties. Each property is represented by one key - value pair. A Channel property consists of a property id and a property value. They also have a type (integer, string, boolean etc.) and a flag that indicates if they are a system defined property or not.
The Channel Service is used for retrieving channel information from channels stored by the KreaTV platform and for storing channels found during channel scanning process such as DVB scanning. And it also provides one observer mechanism to notify applications when some channels have been added or changed or removed. The interface of Channel Service is generic and not tied to a specific type of channels/services.
TOI interface "IToiChannelService" is the entry interface of Channel Service. This interface is used for retrieving channel info and property definition info. And TOI interface "IToiChannelObserver" is used for notifying channel change event. What' more, some methods of "IToiChannelService" interface are designed as asynchronous method, it employ "IToiOperationManager" and "IToiOperationObserver" to achieve asynchronous operation mode.