To use BLID Application Satellite Info API, an instance of CSatelliteInfoUI
needs
to be created using the NewL()
function. This instance should
be used to invoke the ExecuteLD()
method providing it with
a string, which signifies the requestor data used by Location Framework.
If invoking application receives a foreground event and if the Satellite
Information dialog is active, the CSatelliteInfoUI
’s HandleForegroundEventL()
method
must be invoked providing it with the event Boolean.
Following diagram illustrates steps involved in launching the Satellite information dialog.
Figure 2: Launching Satellite Information dialog after setting the launch view.
The following diagram illustrates the steps involved in handling the foreground event.
Figure 3: Handling foreground event
The following example depicts the use of the CSatelliteInfoUI
class.
// Create the server name HBufC* srvName = StringLoader::LoadLC(R_SATREF_SERVICE_RULE_NAME, CEikonEnv::Static() ); // Creating instance of CSatelliteInfoUI CsatelliteInfo* iSatelliteInfo = CSatelliteInfoUI::NewL(); // ExecuteLD displays the satellite dialog. // The dialog display satellite ID's along with // their signal strengths depicted using bar's. iSatelliteInfo->SetLaunchView(CSatelliteInfoUI::ESatelliteFirmamentView); iSatelliteInfo->ExecuteLD(*srvName); CleanupStack::PopAndDestroy(srvName); //srvName iSatelliteInfo = NULL;
A foreground event can be handled in the following fashion.
void HandleForegroundEventL(TBool aForeground) { if(iSatelliteInfo) { // SatelliteInfo To Handle Foreground Event iSatelliteInfo->HandleForegroundEventL(aForeground); } }
BLID Application Satellite Info API uses the standard Symbian error reporting mechanism. Errors are reported through leaves or panics.
The method ExecuteLD()
will leave with KErrArgument
if
the requestor data string is empty.
The method NewL()
will leave with KErrNoMemory
if
the system is out of memory.
If the client provides any integer value (the parameter of SetLaunchView
is Tint
)
other than those enumerations mentioned in the TSatelliteView
enumeration
(ESatelliteFirmamentView
or ESatelliteSignalStrengthView
),
it will panic with EAknPanicOutOfRange
.
SatInfo
DLL's memory consumption is largely limited by
the size of the Location Framework object used to obtain satellite information,
the icons used in the dialog to display satellite information and the memory
consumed by the S60 dialog framework which collectively is not large. Hence,
there is no need to make huge memory reservations.
There are no extensions defined to BLID Application Satellite Info API.
The only limitation is that this API has to be used from some application.