Symbian3/PDK/Source/GUID-1D96687F-C81B-56FC-84A6-2C87216BF1F9.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:42:04 +0100
changeset 4 4816d766a08a
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
Week 12 contribution of SDK documentation_content. See release notes for details. Fixes Bug 1892, Bug 1522, Bug 1520, Bug 394, Bug 1319, Bug 344, Bug 1897

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE task
  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task xml:lang="en" id="GUID-1D96687F-C81B-56FC-84A6-2C87216BF1F9"><title>Mobile Network Tutorial</title><shortdesc>This tutorial describes how to get the current and home network information using the <apiname>RMobilePhone</apiname> functions. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <context><p>Use the <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> functions to get information about the current, home, and detected networks. </p> <p>To query what network information is available, use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetNetworkCaps()</apiname></xref>. The <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> functions are used to get the network information. </p> <p> <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>CRetrieveMobilePhoneDetectedNetworks</apiname></xref> is provided to get a list of all the detected networks. </p> </context> <steps id="GUID-F2274847-45EC-5EB3-8DC2-81B23D29A8BB"><step id="GUID-FB4014AF-D48C-50EB-83A4-8A9477590453"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetCurrentMode()</apiname></xref> to get information about the current network mode, for example, GSM or CDMA. Modes are described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneNetworkMode</apiname></xref>. </cmd> </step> <step id="GUID-0DB34ABC-AC93-5315-AE52-5E52DF79CFD9"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyModeChange()</apiname></xref> to get the notification of any changes to the mode. </cmd> </step> <step id="GUID-3F7B42A9-5A04-5B8E-AF43-861DCCE3B2F3"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetCurrentNetwork()</apiname></xref> to get details, such as the network mode, status, and identity or name as appropriate to the mode, of the current network. </cmd> <info>The information is returned in a <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneNetworkInfoV2</apiname></xref> object (<xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneNetworkInfoV1</apiname></xref> in the v1 API). In GSM mode, it may also be possible to return information on the current location of the phone, in an <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneLocationAreaV1</apiname></xref> object. </info> </step> <step id="GUID-051DF5D8-A5F7-5FD6-A459-CEBFB53FACAE"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyCurrentNetworkChange()</apiname></xref> to get the notification of changes to the current network. </cmd> </step> <step id="GUID-3058F27E-7945-5092-AC3E-F6F763861EF8"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetHomeNetwork()</apiname></xref> to get details about the home network. </cmd> <info>This will be the same as the current network, unless the phone is roaming as a guest on in another network. </info> </step> <step id="GUID-41B6818E-AAFF-5FCC-A5B0-88A4F19EB1BE"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetNetworkRegistrationStatus()</apiname></xref> to get information about the current network registration status. </cmd> </step> <step id="GUID-5C81C480-1AC6-559F-B156-64D26A347213"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyNetworkRegistrationStatusChange()</apiname></xref> to get notification of any changes to the network registration status. </cmd> </step> </steps> <example><title>Network information example</title> <p>The following code checks if the information about the current network can be obtained, and if so, gets that information, and reads from it the full network name. </p> <p>The code assumes <codeph>iMobilePhone</codeph> is an <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> object. </p> <codeblock id="GUID-EE4F83AB-AD2A-53AC-B092-E7BDAAD913AC" xml:space="preserve">TUint32 networkCaps;
User::LeaveIfError(iMobilePhone.GetNetworkCaps(networkCaps));
RMobilePhone::TMobilePhoneNetworkLongName networkName;
if (networkCaps &amp; RMobilePhone::KCapsGetCurrentNetwork)
    {
    RMobilePhone::TMobilePhoneNetworkInfoV1 mobilePhoneNetworkInfo;
    RMobilePhone::TMobilePhoneNetworkInfoV1Pckg mobilePhoneNetworkInfoPckg(mobilePhoneNetworkInfo);
    RMobilePhone::TMobilePhoneLocationAreaV1 mobilePhoneLocationArea;
    TRequestStatus status;
    iMobilePhone.GetCurrentNetwork(status, mobilePhoneNetworkInfoPckg, mobilePhoneLocationArea);
    User::WaitForRequest(status);
    User::LeaveIfError(status.Int());
    networkName = mobilePhoneNetworkInfo.iLongName;
    }</codeblock> </example> <postreq><p>After retrieving the network information, the device has to selects a network to use. See <xref href="GUID-89D0839A-942B-58FF-A0E6-A0FDBFC92236.dita">Mobile Network Selection Tutorial</xref> for more information on how to get and set the parameters to select a network. </p> <p>Once a network is selected the user decides to automatically update the date and time from the network. See <xref href="GUID-CC05C1AA-02B0-5E94-9522-44BCF44CBA48.dita">Network Date and Time Tutorial</xref> for more information on how to receive date and time from the network. </p> </postreq> </taskbody></task>