Symbian3/SDK/Source/GUID-D099551B-6E99-5210-B44A-693012A29DD1.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?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 concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-D099551B-6E99-5210-B44A-693012A29DD1"><title>Types of Storage for a Message Entry</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Message Server provides the following types of storage in the Message Store for each entry: </p> <ul><li id="GUID-7D143DE2-A1DF-572B-891D-885964743871"><p><xref href="GUID-5E8AA6B6-38EB-5347-BA30-F9FF4BF7C107.dita">Index</xref>: The index contains state and generic message header information for an entry. Each index entry (and so each item) is uniquely identified by an ID field and uses <xref href="GUID-5A23B804-2C06-3407-9D48-1BFB212D699F.dita"><apiname>TMsvEntry</apiname></xref> to provide sufficient information for UI applications to display list views. </p> </li> <li id="GUID-A2FBDF11-68C1-5A93-9106-3813BF6BBA00"><p><xref href="GUID-8390D842-B8A3-5042-952D-73240DB30D6B.dita#GUID-8390D842-B8A3-5042-952D-73240DB30D6B/GUID-8E01ADD0-A706-54B2-8159-E65C33274C30">Dictionary file store</xref>: Each entry can have an associated direct file stream store that holds message body text and protocol-specific data. To provide storage of streams of data associated with UIDs <xref href="GUID-8CB90FA2-A6CF-3FA2-81FF-7D22EFD9C2CE.dita"><apiname>CMsvStore</apiname></xref> is used. </p> </li> <li id="GUID-3E9D637F-F704-5B6C-85C1-29F0EB0A7B50"><p>Binary files: This provides storage for attachments that are associated with the entry. </p> <p>Any entry can have binary files associated with it. These are stored in a directory, created by the Message Server that is unique to the entry. Before Symbian OS v9.0, clients used to read and write files directly into that directory. From v9.0 and onwards, clients use the API classes <xref href="GUID-4E2B0CEA-1EDA-3452-895D-3CE1B59FD8FD.dita"><apiname>MMsvAttachmentManager</apiname></xref> and <xref href="GUID-8C2B9B89-D6B7-3622-AF26-658F53BCB70F.dita"><apiname>CMsvAttachment</apiname></xref> to manage attachments. </p> </li> <li id="GUID-90C3A223-1BD5-5966-A42E-6AE65F8C6389"><p><xref href="GUID-7BB6C3A0-7FCF-5614-9940-B3630E5FC114.dita">Removable storage device</xref>: An external storage device, such as memory card, that is used to store messages. </p> </li> </ul> <p> <b>Note:</b> The index entry is always present in the message store but dictionary file stores and attachment directories are only used when required. </p> <section><title>Storage format</title> <p>The following table summarises the format of a message entry. </p> <table id="GUID-D74586D5-7389-53D4-841C-1616B9670147"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Type</b>  </p> </entry> <entry><p> <b>Storage</b>  </p> </entry> </row> <row><entry><p>Generic header and message state information </p> </entry> <entry><p>Index entry </p> </entry> </row> <row><entry><p>MTM-specific header information </p> </entry> <entry><p>MTM-specific stream in an associated Message Store </p> </entry> </row> <row><entry><p>Message body </p> </entry> <entry><p>Default rich text object stream in the Message Store. Note that this can be empty if the message body contains no text. </p> </entry> </row> <row><entry><p>Attachments </p> </entry> <entry><p>Attachment files are stored in the Message Store, or can also be specified as links to files stored elsewhere on disk. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Storage abstractions</title> <p>The abstractions through which applications access the various types of storage are key to Messaging Middleware. They are: </p> <ul><li id="GUID-22567588-A274-529C-A266-FFC9AD0E9D3E"><p> <xref href="GUID-85BBE389-81F7-3E2F-A789-446D9BE2CC49.dita"><apiname>CMsvEntry</apiname></xref> is the highest level abstraction. It encapsulates actions to access, manipulate, create, delete, and move entries. </p> </li> <li id="GUID-B5F0AB9B-91D7-5D51-BF97-793574B54853"><p> <xref href="GUID-681B56F3-B3A2-3147-B25A-FD69451F4A1D.dita"><apiname>CMsvServerEntry</apiname></xref> is similar to <xref href="GUID-85BBE389-81F7-3E2F-A789-446D9BE2CC49.dita"><apiname>CMsvEntry</apiname></xref>, but used only by server-side MTMs. </p> </li> <li id="GUID-43324599-F297-5E9F-AC2A-687FDBADC422"><p> <xref href="GUID-5A23B804-2C06-3407-9D48-1BFB212D699F.dita"><apiname>TMsvEntry</apiname></xref> encapsulates an index entry. </p> </li> <li id="GUID-97940064-D4EE-5F33-A810-6589D5BAFF60"><p> <xref href="GUID-8CB90FA2-A6CF-3FA2-81FF-7D22EFD9C2CE.dita"><apiname>CMsvStore</apiname></xref> encapsulates an entry’s Message Store. </p> </li> </ul> </section> </conbody></concept>