IToiFrontendService Interface Reference


Description

Technical Preview:
This interface is a TECHNICAL PREVIEW, it may change. The IToiFrontendService is the entry interface for dealing with frontends using such as DVB-T, DVB-C etc. From this interface scanner instances may be created by applications to scan these frontends for services. Frontend downloader instances may also be created to download software required to perform software upgrades or updates to splash screens. In addition to this the interface can also be used to enumerate frontends and retrieve information about their capabilities etc.
See also:
IToiScanner
IToiDvbTScanner
IToiDvbCScanner
IToiFrontendDownloader

import "IToiFrontendService.idl";

List of all members.

Public Member Functions

void GetOperationManager (out string address)
void CreateDvbTScanner (in IToiApplicationService::TToiApplicationId applicationId, in TToiFrontendId frontendId, out string scannerAddress) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)
void CreateDvbCScanner (in IToiApplicationService::TToiApplicationId applicationId, in TToiFrontendId frontendId, out string scannerAddress) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)
void CreateFrontendDownloader (in IToiApplicationService::TToiApplicationId applicationId, in TToiFrontendId frontendId, out string downloaderAddress) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)
void GetFrontends (out TToiFrontendIdSequence identifiers) raises (TToiOperationNotSupportedException)
void GetFrontendInfo (in TToiFrontendId frontendId, out TToiFrontendInfo info) raises (TToiInvalidArgumentException, TToiNoDataException, TToiOperationNotSupportedException)
void GetFrontendInfoBySession (in IToiMediaSession::TToiSessionId sessionId, out TToiFrontendInfo info) raises (TToiInvalidArgumentException, TToiNoDataException, TToiOperationNotSupportedException)

Public Attributes

const TToiFrontendId FRONTEND_ID_ANY_FREE = -1
Property constants

Constants for extended frontend property identifiers.

const TToiPropertyId PROPERTY_SIGNAL_STRENGTH_INDICATOR = 1

const TToiPropertyId PROPERTY_SIGNAL_QUALITY_INDICATOR = 2

const TToiPropertyId PROPERTY_DERIVED_CHANNEL_ID = 3

Classes

struct  TToiFrontendCapabilities
struct  TToiFrontendInfo
struct  TToiProperty

Public Types

enum  TToiModulationSystem {
  CAPABILITY_SYSTEM_DVB_C, CAPABILITY_SYSTEM_DVB_S, CAPABILITY_SYSTEM_DVB_S2, CAPABILITY_SYSTEM_DVB_T,
  CAPABILITY_SYSTEM_ISDB_C, CAPABILITY_SYSTEM_ISDB_S, CAPABILITY_SYSTEM_ISDB_T, CAPABILITY_SYSTEM_SBTVD,
  CAPABILITY_SYSTEM_SCTE, CAPABILITY_SYSTEM_ATSC
}
enum  TToiChannelBandwidth {
  CAPABILITY_BANDWIDTH_1_8MHZ, CAPABILITY_BANDWIDTH_5MHZ, CAPABILITY_BANDWIDTH_6MHZ, CAPABILITY_BANDWIDTH_7MHZ,
  CAPABILITY_BANDWIDTH_8MHZ
}
enum  TToiModulationMode {
  CAPABILITY_MODULATION_QAM_16, CAPABILITY_MODULATION_QAM_32, CAPABILITY_MODULATION_QAM_64, CAPABILITY_MODULATION_QAM_128,
  CAPABILITY_MODULATION_QAM_256, CAPABILITY_MODULATION_QPSK, CAPABILITY_MODULATION_DVS178_QPSK
}
typedef long TToiFrontendId
typedef sequence< TToiFrontendIdTToiFrontendIdSequence
typedef long TToiPropertyId
typedef sequence< TToiPropertyTToiPropertySequence

Member Typedef Documentation

Identifier for a frontend, starting from 0

Sequence of frontend identifiers.

Identifier for a frontend property

Sequence of properties.


Member Enumeration Documentation

Specifies the bit-map position for channel bandwidth capabilities.

Enumerator:
CAPABILITY_BANDWIDTH_1_8MHZ 

Bandwidth of 1.8MHz used for SCTE OOB.

CAPABILITY_BANDWIDTH_5MHZ 

Bandwidth of 5MHz.

CAPABILITY_BANDWIDTH_6MHZ 

Bandwidth of 6MHz.

CAPABILITY_BANDWIDTH_7MHZ 

Bandwidth of 7MHz.

CAPABILITY_BANDWIDTH_8MHZ 

Bandwidth of 8MHz.

Specifies the bit-map position for modulation mode capabilities.

Enumerator:
CAPABILITY_MODULATION_QAM_16 

Modulation mode of QAM16.

CAPABILITY_MODULATION_QAM_32 

Modulation mode of QAM32.

CAPABILITY_MODULATION_QAM_64 

Modulation mode of QAM64.

CAPABILITY_MODULATION_QAM_128 

Modulation mode of QAM128.

CAPABILITY_MODULATION_QAM_256 

Modulation mode of QAM256.

CAPABILITY_MODULATION_QPSK 

Modulation mode of QPSK.

CAPABILITY_MODULATION_DVS178_QPSK 

Modulation mode of QVS178_QPSK.

Specifies the bit-map position for modulation system capabilities.

Enumerator:
CAPABILITY_SYSTEM_DVB_C 

Modulation system DVB_C.

CAPABILITY_SYSTEM_DVB_S 

Modulation system DVB_S.

CAPABILITY_SYSTEM_DVB_S2 

Modulation system DVB_S2.

CAPABILITY_SYSTEM_DVB_T 

Modulation system DVB_T.

CAPABILITY_SYSTEM_ISDB_C 

Modulation system ISDB_C.

CAPABILITY_SYSTEM_ISDB_S 

Modulation system ISDB_S.

CAPABILITY_SYSTEM_ISDB_T 

Modulation system ISDB_T.

CAPABILITY_SYSTEM_SBTVD 

Modulation system SBTVD, i.e. ISDB_T International.

CAPABILITY_SYSTEM_SCTE 

Modulation system SCTE, i.e. US Cable.

CAPABILITY_SYSTEM_ATSC 

Modulation system ATSC, i.e. US Terrestrial.


Member Function Documentation

void IToiFrontendService::CreateDvbCScanner ( in IToiApplicationService::TToiApplicationId  applicationId,
in TToiFrontendId  frontendId,
out string  scannerAddress 
) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)

This function creates a new DVB-C scanner instance and associates it with the calling application. System resources are allocated when this function is called and released when IToiScanner::ReleaseInstance() is called.

When the application no longer needs the scanner instance, it must release it by calling IToiScanner::ReleaseInstance().

Parameters:
applicationId The identifier of the calling application.
frontendId The frontend identifier which will be used to bind this specific frontend for the scan operation.
Return values:
scannerAddress The address to the IToiDvbCScanner instance.
Exceptions:
TToiInvalidArgumentException Raised if the specified application identifier is invalid, or if frontend id is invalid.
TToiNotEnoughResourcesException Raised if the specified frontend resource is in use.
TToiOperationNotSupportedException Raised if DVB-C is not supported.
See also:
IToiScanner
IToiDvbCScanner
IToiScanner::ReleaseInstance()
void IToiFrontendService::CreateDvbTScanner ( in IToiApplicationService::TToiApplicationId  applicationId,
in TToiFrontendId  frontendId,
out string  scannerAddress 
) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)

This function creates a new DVB-T scanner instance and associates it with the calling application. System resources are allocated when this function is called and released when IToiScanner::ReleaseInstance() is called.

When the application no longer needs the scanner instance, it must release it by calling IToiScanner::ReleaseInstance().

Parameters:
applicationId The identifier of the calling application.
frontendId The frontend identifier which will be used to bind this specific frontend for the scan operation.
Return values:
scannerAddress The address to the IToiDvbTScanner instance.
Exceptions:
TToiInvalidArgumentException Raised if the specified application identifier is invalid, or raised if the frontend id is invalid.
TToiNotEnoughResourcesException Raised if the specified frontend resource is in use.
TToiOperationNotSupportedException Raised if DVB-T is not supported.
See also:
IToiScanner
IToiDvbTScanner
IToiScanner::ReleaseInstance()
void IToiFrontendService::CreateFrontendDownloader ( in IToiApplicationService::TToiApplicationId  applicationId,
in TToiFrontendId  frontendId,
out string  downloaderAddress 
) raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiOperationNotSupportedException)

This function creates a new frontend downloader instance and associates it with the calling application. System resources are allocated when this function is called and released when IToiFrontendDownloader::ReleaseInstance() is called.

When the application no longer needs the frontend downloader instance, it must release it by calling IToiFrontendDownloader::ReleaseInstance().

Parameters:
applicationId The identifier of the calling application.
frontendId The frontend identifier which will be used to bind this specific frontend to the downloader instance.
Return values:
downloaderAddress The address to the IToiFrontendDownloader instance.
Exceptions:
TToiInvalidArgumentException Raised if the specified application identifier is invalid, or if frontend id is invalid.
TToiNotEnoughResourcesException Raised if the specified frontend resource is in use.
TToiOperationNotSupportedException Raised if the function is not supported.
See also:
IToiFrontendDownloader
IToiFrontendDownloader::ReleaseInstance()
void IToiFrontendService::GetFrontendInfo ( in TToiFrontendId  frontendId,
out TToiFrontendInfo  info 
) raises (TToiInvalidArgumentException, TToiNoDataException, TToiOperationNotSupportedException)

Get status information about the frontend, i.e. tuner and demodulator, for the dedicated frontend.

Parameters:
frontendId The frontend identifier.
Return values:
info The frontend status information.
Exceptions:
TToiInvalidArgumentException Raised if the frontend id is not valid.
TToiNoDataException Raised if the frontend information is not available.
TToiOperationNotSupportedException Raised if there is no frontend available.
void IToiFrontendService::GetFrontendInfoBySession ( in IToiMediaSession::TToiSessionId  sessionId,
out TToiFrontendInfo  info 
) raises (TToiInvalidArgumentException, TToiNoDataException, TToiOperationNotSupportedException)

Get status information about the frontend, i.e. tuner and demodulator, for the dedicated session.

Parameters:
sessionId The media session identifier.
Return values:
info The frontend status information.
Exceptions:
TToiInvalidArgumentException Raised if the session id is not valid or if the session does not exist.
TToiNoDataException Raised if the frontend information is not available.
TToiOperationNotSupportedException Raised if there is no frontend available or if the given media session is not using a frontend.
void IToiFrontendService::GetFrontends ( out TToiFrontendIdSequence  identifiers  )  raises (TToiOperationNotSupportedException)

This function is used to get the frontend identifiers for the available frontends.

Return values:
identifiers A list of frontend identifiers.
Exceptions:
TToiOperationNotSupportedException Raised if there is no frontend available.
void IToiFrontendService::GetOperationManager ( out string  address  ) 

Returns the operation manager that handles asynchronous operations for all services derived from the Frontend service. The procedure of executing asynchronous operations is generic and looks like this:

  • Get a handle to the operation manager.
  • Register an observer to get operation events from the operation manager.
  • Create an operation in order to get an operation identifier.
  • Call a asynchronous operation using the operation identifier.
  • Receive progress events for the asynchronous operation.
  • When the operation is completed, get result data (if any).
  • Release the operation or reuse the identifier for another asynchronous call.
Return values:
address The address to the IToiOperationManager.

Member Data Documentation

Predefined value to identify any appropriate free frontend

This constant can also be accessed from toi.consts.IToiFrontendService.FRONTEND_ID_ANY_FREE.

Property used to indicate to which channel id a frontend is currently tuned to. This is derived from the centre frequency, see NORDIG requirement for DVB.

This constant can also be accessed from toi.consts.IToiFrontendService.PROPERTY_DERIVED_CHANNEL_ID.

Property for the signal quality indicator. The value is between -1 and 100, where 100 means that the quality is the best possible and -1 means that the quality is not available. See NORDIG requirement for DVB.

This constant can also be accessed from toi.consts.IToiFrontendService.PROPERTY_SIGNAL_QUALITY_INDICATOR.

Property for Signal Strength Indicator (SSI) of a frontend. See NORDIG requirement for DVB.

This constant can also be accessed from toi.consts.IToiFrontendService.PROPERTY_SIGNAL_STRENGTH_INDICATOR.