Symbian3/PDK/Source/GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 5 f345bda72bc4
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     6
<!-- Initial Contributors:
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     7
    Nokia Corporation - initial contribution.
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     8
Contributors: 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     9
-->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    10
<!DOCTYPE concept
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    12
<concept xml:lang="en" id="GUID-B8F07736-F598-59F0-A004-02A8CBE40554"><title>Multimode Stores</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Information can be stored on the phone in a proprietary storage such as an ME-based phonebook or in a standardised storage area such as SMS on SIM or network operator details on a NAM. Multimode telephony provides a number of classes to access these stores. </p> <p>The following table lists the store types; whether the type must be supported by all TSYs or whether it is optional; and whether the type is of potential use in GSM, WCDMA and CDMA modes respectively. </p> <p>The following table describes the store types and the modes with which they can be used. </p> <table id="GUID-8EF6A506-AA9B-5768-BD69-30B82845FDF8"><tgroup cols="5"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><colspec colname="col4"/><thead><row><entry>Area</entry> <entry>Required</entry> <entry>GSM</entry> <entry>WCDMA</entry> <entry>CDMA</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita#GUID-B8F07736-F598-59F0-A004-02A8CBE40554/GUID-E6D28D2B-5201-569E-881D-1D5A0BDC41B0">SMS message store</xref>  </p> </entry> <entry><p>n</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> </row> <row><entry><p> <xref href="GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita#GUID-B8F07736-F598-59F0-A004-02A8CBE40554/GUID-954142E4-DAF2-5526-988C-C62FB076A5EB">Phone book store</xref>  </p> </entry> <entry><p>n</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> </row> <row><entry><p> <xref href="GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita#GUID-B8F07736-F598-59F0-A004-02A8CBE40554/GUID-94DD9BEF-AA0D-5491-BA84-C4B502AB0E03">Own numbers store</xref>  </p> </entry> <entry><p>n</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> </row> <row><entry><p> <xref href="GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita#GUID-B8F07736-F598-59F0-A004-02A8CBE40554/GUID-3E8A8566-1B25-5C82-B844-41A7F907A11E">Emergency numbers store</xref>  </p> </entry> <entry><p>n</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> <entry><p>y</p> </entry> </row> <row><entry><p> <xref href="GUID-B8F07736-F598-59F0-A004-02A8CBE40554.dita#GUID-B8F07736-F598-59F0-A004-02A8CBE40554/GUID-2871999B-51F4-5B4E-9640-7FE19A9CF9C5">NAM store</xref>  </p> </entry> <entry><p>n</p> </entry> <entry><p>n</p> </entry> <entry><p>n</p> </entry> <entry><p>y</p> </entry> </row> </tbody> </tgroup> </table> <section id="GUID-67D3FCA0-79D1-5841-85FA-D50D13B15FA8"><title>Store base class</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore</apiname></xref> is the base class that implements all of the basic operations performed on the stores. </p> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore</apiname></xref> provides functions to: </p> <ul><li id="GUID-CA63E48A-F41E-5AF5-901C-C4BCF5EB855A"><p>get information about the specified store using <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>GetInfo()</apiname></xref>. This information is encapsulated in an <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>TMobilePhoneStoreInfoV1</apiname></xref> object, and includes the store's name, the type of data that it stores, the total number of storage slots and the number of used slots. Particular stores may provide derived types with additional store information. </p> </li> <li id="GUID-BB42851B-0260-5582-959F-9AA21F73163D"><p>read and write specified entries using <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>Read()</apiname></xref> and <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>Write()</apiname></xref>. Each type of store has its own type of entry, but all stores have a common base class <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>TMobilePhoneStoreEntryV1</apiname></xref> </p> </li> <li id="GUID-58C4A16A-A7A8-5C1F-AEA8-7EA303C2AF6F"><p>delete an entry, or all entries, using <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>Delete()</apiname></xref> and <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>DeleteAll()</apiname></xref>. </p> </li> <li id="GUID-E2026651-5B6D-5898-81B0-CA4B52C643C5"><p>be notified of store events, such as entries being added and deleted, using <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>NotifyStoreEvent()</apiname></xref>  </p> </li> </ul> </section> <section id="GUID-E6D28D2B-5201-569E-881D-1D5A0BDC41B0"><title>SMS message store</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore</apiname></xref> represents the phone-side storage of incoming and outgoing SMS messages and any associated status reports. Clients use it to read, write and delete SMS messages in the SIM/R-UIM and ME memory. Each physical location of an SMS message store maps to a separate instance of an SMS message store in the TSY. Clients can open handles to each of these stores. Each SMS message in a store has a status that tells the client whether that message was received or sent, read or unread and whether or not it is waiting for or has received a status report. </p> <p>The following SMS-specific types and functions are added by <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore</apiname></xref>: </p> <ul><li id="GUID-E99E0465-E2E9-565E-A793-2F6B549CF0ED"><p>to open an SMS store session for phone-based or ICC-card based storage use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore::Open()</apiname></xref>  </p> </li> <li id="GUID-C3066FF5-B2C9-581D-B913-73BA2E814DC1"><p>SMS store capabilities are returned within <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore::TMobilePhoneStoreInfoV1::iCaps</apiname></xref>. Capabilities combine the generic phone store capabilities of <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore::TMobilePhoneStoreCaps</apiname></xref> and the SMS store-specific capabilities of <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore::TMobileSmsStoreCaps</apiname></xref>. </p> </li> <li id="GUID-22903873-C3CE-5183-99D3-C4D93DFFDEA5"><p>SMS store entries are either <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore::TMobileCdmaSmsEntryV1</apiname></xref> for CDMA or a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileSmsStore::TMobileGsmSmsEntryV1</apiname></xref> objects for GSM. </p> </li> <li id="GUID-E202CEF4-49AD-5E15-9300-0EF546EDE93B"><p>to retrieve multiple messages in one operation use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CRetrieveMobilePhoneSmsList</apiname></xref> to get the list, a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneGsmSmsList</apiname></xref> for GSM or <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneCdmaSmsList</apiname></xref> for CDMA object. </p> </li> </ul> </section> <section id="GUID-954142E4-DAF2-5526-988C-C62FB076A5EB"><title>Phone book store</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore</apiname></xref> allows clients to access phone books that are stored in ICC memory or in non-volatile memory on the phone itself. Address book data is stored in Contacts databases, which allows the Contacts engine API to be used for advanced functionality such as sorting and searching entries. The <xref href="GUID-03F27854-B9FC-5796-AA67-7093DB7AD4B0.dita">Phonebook Synchroniser</xref> updates the Contacts databases with the ICC phonebook data when required. </p> <p>A number of types of phone book are available: </p> <ul><li id="GUID-931E8B42-ECC7-55FA-B310-31309B9FA58C"><p>recently dialled calls </p> </li> <li id="GUID-5C295CB7-C828-5934-8488-2562B686E1CC"><p>missed calls </p> </li> <li id="GUID-AA87B1BF-237A-573B-8AAB-967618CF334B"><p>received calls </p> </li> <li id="GUID-3F829E31-D108-5864-A9AB-C76258A6FEE5"><p>abbreviated dialling numbers (TA, ME and ICC-based) </p> </li> <li id="GUID-3CDDAFE7-2E02-5A49-9C2D-01A11AA13329"><p>voice mailbox numbers </p> </li> <li id="GUID-9EF37454-CA81-59C4-9A8C-97EEBC7C4246"><p>fixed dialling numbers </p> </li> <li id="GUID-A13B7345-5FD7-5691-90C1-D81B0BA11891"><p>service dialling numbers </p> </li> <li id="GUID-55D3032A-14C8-54B5-BF9F-88A76EAE732D"><p>last numbers dialled </p> </li> <li id="GUID-0BA15BAF-F2E6-56AC-B17B-DFC986E18B65"><p>barred dialling numbers </p> </li> </ul> <p>The following phone book-specific types and functions are added by the <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore</apiname></xref> class: </p> <ul><li id="GUID-70168218-174B-5562-9BA8-95F89B9A3BCD"><p>to open a session for a specified type of phone book store, use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore::Open()</apiname></xref>  </p> </li> <li id="GUID-87EFFC0E-DEA3-55E8-889E-085091D99C1A"><p>phone book store information is encapsulated in <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore::TMobilePhoneBookInfoV1</apiname></xref>, derived from <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore::TMobilePhoneStoreInfoV1</apiname></xref>  </p> </li> <li id="GUID-0ADB6048-727D-5F1C-8CB9-8DECB3EB818D"><p>phone book store entries are variably-sized byte streams with different fields delineated by tags. <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore::Read()</apiname></xref> and <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneBookStore::Write()</apiname></xref> read and write respectively a byte streams. It is easier for clients to use the Contacts engine API rather than write their own code to encode and decode the byte streams. </p> </li> </ul> <p><b>Example </b> </p> <p>The following code reads the address information for the last missed call from the missed calls phone book. </p> <codeblock id="GUID-E3B38C5B-47C9-5935-B1D7-17FEF69326A4" xml:space="preserve">HBufC8* CClientApp::LastMissedCallL()
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    13
    {
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    14
    // Test can read entries from missed calls store
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    15
    RMobilePhoneBookStore::TMobilePhoneStoreInfoV1 phoneStoreInfo;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    16
    RMobilePhoneBookStore::TMobilePhoneStoreInfoV1Pckg phoneStoreInfoPckg(phoneStoreInfo);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    17
    TRequestStatus status;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    18
    iMobilePhone.GetPhoneStoreInfo(status, phoneStoreInfoPckg, KETelMeMissedPhoneBook);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    19
    User::WaitForRequest(status);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    20
    User::LeaveIfError(status.Int());
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    21
    HBufC8* pbData = 0;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    22
    if ( phoneStoreInfo.iCaps &amp; RMobilePhoneBookStore::KCapsReadAccess)
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    23
        {
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    24
        // Open session to missed calls store
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    25
        RMobilePhoneBookStore pbStoreSession;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    26
        User::LeaveIfError(pbStoreSession.Open(iMobilePhone, KETelMeMissedPhoneBook));
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    27
        CleanupClosePushL(pbStoreSession);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    28
        TInt totalEntries = phoneStoreInfo.iUsedEntries;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    29
        if (totalEntries &gt; 0)
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    30
            {
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    31
            const TInt KAddressBuffer = 200;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    32
            pbData = HBufC8::NewLC(KAddressBuffer);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    33
            TInt numEntries = 1;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    34
            TPtr8 des = pbData-&gt;Des();
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    35
            pbStoreSession.Read(status, totalEntries, numEntries, des);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    36
            User::WaitForRequest(status);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    37
            User::LeaveIfError(status.Int());
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    38
            CleanupStack::Pop(); // pbData
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    39
            }
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    40
        // Clean up
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    41
        CleanupStack::PopAndDestroy(); // calls pbStoreSession.Close()
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    42
        }
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    43
    return pbData;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    44
    }</codeblock> </section> <section id="GUID-94DD9BEF-AA0D-5491-BA84-C4B502AB0E03"><title>Own numbers store</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileONStore</apiname></xref> allows clients to access a store of own numbers. There is one store that holds both own numbers for all modes. </p> <p>The following phone book-specific types and functions are added by <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileONStore</apiname></xref>: </p> <ul><li id="GUID-67286DBA-44B3-5B67-8684-09DC4FDE89AA"><p>to open a session for the own numbers store, use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileONStore::Open()</apiname></xref>  </p> </li> <li id="GUID-38385320-B825-519D-8451-017B3174D705"><p>own number store information is encapsulated in <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileONStore::TMobileONStoreInfoV1</apiname></xref>, derived from <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore::TMobilePhoneStoreInfoV1</apiname></xref>  </p> </li> <li id="GUID-7B147834-081F-5CCF-A1C4-3008E352834D"><p>own numbers store entries are <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileONStore::TMobileONEntryV1</apiname></xref> objects </p> </li> <li id="GUID-2DDAC1CA-197F-57E4-B354-581E3F5DE3CE"><p>to retrieve all the entries in one operation use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CRetrieveMobilePhoneONList</apiname></xref> to get the list, a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneONList</apiname></xref> object. </p> </li> </ul> </section> <section id="GUID-3E8A8566-1B25-5C82-B844-41A7F907A11E"><title>Emergency numbers store</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileENStore</apiname></xref> allows clients to access the list of emergency telephone numbers. </p> <p>A TSY returns one list that has the emergency numbers for all the supported network modes, or if this is not possible, just the emergency numbers for the current mode. </p> <p>The following phone book-specific types and functions are added by <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileENStore</apiname></xref>: </p> <ul><li id="GUID-4F3AA88D-7D70-5082-B3DA-68F6F806D2C4"><p>to open a session for the emergency numbers store, use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileENStore::Open()</apiname></xref>  </p> </li> <li id="GUID-A5987511-0325-570A-B320-76C3B2052EC4"><p>emergency numbers store entries are <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileENStore::TMobileENEntryV1</apiname></xref> objects </p> </li> <li id="GUID-1F967CBF-FD5A-5F13-A20F-DC3A90A23DD5"><p>to retrieve all the entries in one operation use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CRetrieveMobilePhoneENList</apiname></xref> to get the list, a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneENList</apiname></xref> object. </p> </li> </ul> <p><b>Example </b> </p> <p>The following code outputs the number for each entry in the store. </p> <codeblock id="GUID-B13515BD-3EF7-5773-BC43-BD321C50DC53" xml:space="preserve">void CClientApp::PrintEmergencyNumbers()
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    45
    {
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    46
    // Open emergency number store
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    47
    RMobileENStore enStore;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    48
    User::LeaveIfError(enStore.Open(iMobilePhone));
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    49
    CleanupClosePushL(enStore);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    50
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    51
    // Create and start asynchronous emergency number retriever
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    52
    CRetrieveMobilePhoneENList* retrieveEnList = CRetrieveMobilePhoneENList::NewL(enStore);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    53
    CleanupStack::PushL(retrieveEnList);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    54
    TRequestStatus status;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    55
    retrieveEnList-&gt;Start(status);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    56
    User::WaitForRequest(status);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    57
    User::LeaveIfError(status.Int());
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    58
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    59
    // Get the list of emergency numbers
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    60
    CMobilePhoneENList* enList = retrieveEnList-&gt;RetrieveListL();
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    61
    CleanupStack::PushL(enList);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    62
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    63
    // Print each number
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    64
    TInt nEntries = enList-&gt;Enumerate();
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    65
    RMobileENStore::TMobileENEntryV1 enEntry;
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    66
    for (TInt i=0; i&lt;=nEntries; i++)
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    67
        {
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    68
        enEntry = enList-&gt;GetEntryL(i);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    69
        console-&gt;Printf(_L("%S\n"),enEntry.iNumber);
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    70
        }
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    71
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    72
    // Clean up
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    73
    CleanupStack::PopAndDestroy(3); // enList, retrieveEnList, enStore
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    74
    }</codeblock> </section> <section id="GUID-2871999B-51F4-5B4E-9640-7FE19A9CF9C5"><title>NAM store</title> <p> <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore</apiname></xref> is used to access Number Assignment Module (NAM) storage. NAM storage stores the parameters used in the operation of CDMA phones. The API assumes that NAMs are stored in phone-side memory. </p> <p>The v7.0 API encapsulates each NAM entry in an <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TMobileNamEntryV1</apiname></xref> object, which assumes a maximum parameter size of 64 bytes. v8.1 (v4 of the ETelMM API) adds a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TMobileNamEntryV4</apiname></xref> type, which allows a maximum parameter size of 256 bytes. It also provides identifiers for standard NAM parameters in <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TStandardNamParameters</apiname></xref>. The TSY can support and define additional NAM parameters. </p> <p>There can be only one NAM can be active at a time: functions to read or write usually apply to the currently active NAM. </p> <p>The following NAM-specific types and functions are added by <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore</apiname></xref>: </p> <ul><li id="GUID-D12A4963-D3F0-56A7-A4FF-32C35E5D6327"><p>to open a NAM store session use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::Open()</apiname></xref>  </p> </li> <li id="GUID-889879EB-44E2-5887-ABFD-CF25624BFEF5"><p>NAM store information is encapsulated in <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TMobileNamStoreInfoV1</apiname></xref>, derived from <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobilePhoneStore::TMobilePhoneStoreInfoV1</apiname></xref>  </p> </li> <li id="GUID-7EC5435C-F297-5F67-A175-8B1EDA81A9A1"><p>NAM store entries are <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TMobileNamEntryV4</apiname></xref> objects (<xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::TMobileNamEntryV1</apiname></xref> in the v1 ETelMM API). </p> </li> <li id="GUID-CA8FACBB-F63E-58D3-B2E1-9CC0481E3771"><p>to specify the active NAM within the NAM store use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::SetActiveNam()</apiname></xref>  </p> </li> <li id="GUID-D58381C0-4E6D-574E-9BEC-8F19B3DF58CE"><p>to retrieve multiple NAM entries in one operation use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CRetrieveMobilePhoneNamList</apiname></xref> to get the list, a <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneNamListV4</apiname></xref> object (<xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>CMobilePhoneNamList</apiname></xref> in the v1 ETelMM API). </p> </li> <li id="GUID-BB6D00A8-66BE-5AE7-9DC0-D548CF6419DC"><p>to store a new version of an entire list of NAM entries use <xref href="GUID-018DBDBE-72D5-366A-887C-BDD554F6EB8C.dita"><apiname>RMobileNamStore::StoreAllL()</apiname></xref> (there are two overloads for v1 and v4 APIs). </p> </li> </ul> </section> </conbody><related-links><link href="GUID-E0470135-DB19-5D3C-AF95-C412CBF515B2.dita#GUID-E0470135-DB19-5D3C-AF95-C412CBF515B2/GUID-DF523227-DADA-578A-8816-3144C7125663"><linktext>SMS messaging</linktext> </link> </related-links></concept>