ISoftwareService Interface Reference


Description

This is the part of the interface to the Software Service that is not public.

See also:
IToiSoftwareService

import "ISoftwareService.idl";

List of all members.

Public Member Functions

void RegisterObserverInternal (in string address) raises (TToiInvalidArgumentException)
void AddIips (in string iipDistributionUrl) raises (TToiInvalidArgumentException)
void SetIipFilter (in string address, in string iip) raises (TToiInvalidArgumentException)
void AreDependenciesFulfilled (in string iipName, in TToiDependencyType dependencyType, out boolean fulfilled) raises (TToiInvalidArgumentException)
void AddRef (in string iipName, in TToiDependencyType dependencyType) raises (TToiInvalidArgumentException)
void Release (in string iipName, in TToiDependencyType dependencyType) raises (TToiInvalidArgumentException)
void GetContentVersion (in string iipName, out string installedVersion, out string availableVersion) raises (TToiInvalidArgumentException)
void RegisterObserver (in IToiApplicationService::TToiApplicationId applicationId, in string address) raises (TToiInvalidArgumentException)
void ReleaseObserver (in string address) raises (TToiInvalidArgumentException)

Public Types

enum  TToiDependencyType { ROOTDISK, EXECUTION }

Member Enumeration Documentation

There are two types of dependencies between IIPs. The TDependencyType is used to enumerate these.

Enumerator:
ROOTDISK 

This dependency type enumerates the rootdisk dependencies of an IIP. The rootdisk dependencies sets up the correct environment for the IIP and makes sure that the IIPs are installed in the correct order at buildtime.

EXECUTION 

This dependency type enumerates the execution dependencies of an IIP. All execution dependencies of an IIP must be installed in order to execute the content of an IIP.


Member Function Documentation

void IToiSoftwareService::AddIips ( in string  iipDistributionUrl  )  raises (TToiInvalidArgumentException) [inherited]

This method makes it possible to add IIPs at runtime. Note that the IIPs are added as information entries, they are not installed. A callback is sent to all registered observers via the IToiSoftwareObserver::OnAddIipsResponse() method with information on if the adding of the IIPs was successful or not. More about IIP distributions can be found in the Operation and Maintainance Guide.

Parameters:
iipDistributionUrl The URL of the IIP distribution.
Exceptions:
TToiInvalidArgumentException Raised when the URL is invalid.
See also:
IToiSoftwareObserver::OnAddIipsResponse
void IToiSoftwareService::AddRef ( in string  iipName,
in TToiDependencyType  dependencyType 
) raises (TToiInvalidArgumentException) [inherited]

Call this method to add a reference to an IIP. Adding references is only allowed on IIPs that has not been "addreffed" (with this dependencyType) before. If the IIP has not been installed on the KreaTV IP-STB, it and all its dependencies will be when this method is called. This method returns immediately and the installation is executed in the background. All IIPs required by this IIP that has not been installed will also be installed. If an IIP status observer has been registered with the IToiSoftwareService::RegisterObserver() method a callback with info on if the AddRef() was successful or not is sent via the IToiSoftwareObserver::OnAddRefResponse() method.

Parameters:
iipName The name of the IIP.
dependencyType The type of dependency that the AddRef of the IIP will follow.
Exceptions:
TToiInvalidArgumentException Raised if iipName is unknown.
See also:
IToiSoftwareObserver::OnAddRefResponse
void IToiSoftwareService::AreDependenciesFulfilled ( in string  iipName,
in TToiDependencyType  dependencyType,
out boolean  fulfilled 
) raises (TToiInvalidArgumentException) [inherited]

This method can be called to find out if the dependencies of the IIP are fulfilled, i.e. if all of the IIPs that the IIP depends on (of a certain dependency type) have been successfully addreffed / are installed. Can e.g. be used to find out whether the IIP is ready for execution.

Parameters:
iipName The name of the IIP.
dependencyType The dependency type of the IIP.
Return values:
fulfilled Set to true if the IIPs dependencies are fulfilled.
Exceptions:
TToiInvalidArgumentException Raised if iipName is unknown.
void IToiSoftwareService::GetContentVersion ( in string  iipName,
out string  installedVersion,
out string  availableVersion 
) raises (TToiInvalidArgumentException) [inherited]

This method retrieves the content version of an IIP. The content version is the version of the IIP's content, i.e. e.g. binaries or firmware. Is e.g. used for DBL IIPs.

Parameters:
iipName The name of the IIP.
Return values:
installedVersion The version of the currently installed IIP's content.
availableVersion The version of the content of the IIP that is available for download.
Exceptions:
TToiInvalidArgumentException Raised if iipName is unknown.
void IToiSoftwareService::RegisterObserver ( in IToiApplicationService::TToiApplicationId  applicationId,
in string  address 
) raises (TToiInvalidArgumentException) [inherited]

Register an observer of type IToiSoftwareObserver. The observer will receive events sent by this IToiSoftwareService instance.

Parameters:
applicationId The identifier of the observing application.
address The address where the IToiSoftwareService can find an IToiSoftwareObserver interface.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is invalid or if the application has already registered itself as an observer with the same address.
See also:
IToiSoftwareObserver
void ISoftwareService::RegisterObserverInternal ( in string  address  )  raises (TToiInvalidArgumentException)

Add a SoftwareService Observer. This function works the same way as the RegisterObserver in IToiSoftwareService. It should be used by platform services instead of RegisterObserver since no application id is needed.

Parameters:
address The address to the observer implementing the IToiSoftwareServiceObserver interface.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is an invalid IPC address.
See also:
ReleaseObserver(), IToiSoftwareServiceObserver
void IToiSoftwareService::Release ( in string  iipName,
in TToiDependencyType  dependencyType 
) raises (TToiInvalidArgumentException) [inherited]

Call this method to release an IIP (remove a reference from an IIP). Releasing is only allowed on IIPs that has been "addreffed" with the IToiSoftwareService::AddRef() method before. If the IIP is not referenced anymore by any IIP after releasing it, it will be uninstalled from the KreaTV IP-STB. The same is valid for any of its dependencies. This method returns immediately and the uninstallation is executed in the background. If an IIP status observer has been registered with the IToiSoftwareService::RegisterObserver() method a callback with info on if the release was successful or not is sent via the IToiSoftwareObserver::OnReleaseResponse() method.

Parameters:
iipName The name of the IIP.
dependencyType The type of dependency that the release of the IIP and its dependencies will follow.
Exceptions:
TToiInvalidArgumentException Raised if iipName is unknown.
See also:
IToiSoftwareObserver::OnReleaseResponse
void IToiSoftwareService::ReleaseObserver ( in string  address  )  raises (TToiInvalidArgumentException) [inherited]

Release an observer previously registered with RegisterObserver.

Parameters:
address The address where the IToiSoftwareService can find the registered IToiSoftwareObserver interface.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is invalid.
See also:
IToiSoftwareObserver
void IToiSoftwareService::SetIipFilter ( in string  address,
in string  iip 
) raises (TToiInvalidArgumentException) [inherited]

Specifies the IIPs that callbacks will be receieved for. In order to get callbacks a call to RegisterObserver must be done. Only registered observers are allowed to set an IIP filter.

Parameters:
address The address of a registered observer for which IIPs should be filtered.
iip The name of the IIP for which to get callbacks. A wildcard (*) is allowed at the end of the iip filter string which will result in callbacks concerning all matching IIPs.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is illegal.
See also:
RegisterObserver()