Symbian3/SDK/Source/GUID-DB1D3045-2DC5-5C50-B430-526674369DC6.dita
changeset 8 ae94777fff8f
parent 0 89d6a7a84779
equal deleted inserted replaced
7:51a74ef9ed63 8:ae94777fff8f
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept id="GUID-DB1D3045-2DC5-5C50-B430-526674369DC6" xml:lang="en"><title>Server-side
    12 <concept id="GUID-DB1D3045-2DC5-5C50-B430-526674369DC6" xml:lang="en"><title>Server-side MTM implementation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    13 MTM implementation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    13 <section id="GUID-CCF26E0B-12D7-4ECB-B213-F60D0319FAF3"><title>Example Code</title> <p>Click on the following link
    14 <section><title>Example Code</title> <p>Click on the following link to download
    14 to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.zip" scope="external">TextMTM.zip</xref> </p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.html" scope="peer">browse</xref> to view the example code. </p> <p>The files
    15 the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.zip" scope="external">TextMTM.zip</xref> </p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.html" scope="peer">browse</xref> to view the example code. </p> <p>The
    15 reproduced here are the main files contained in the examples directory.
    16 files reproduced here are the main files contained in the examples directory.
    16 Some extra files may be needed to run the examples, and these will
    17 Some extra files may be needed to run the examples, and these will be found
    17 be found in the appropriate examples directory. </p><p>The Server-side
    18 in the appropriate examples directory. </p><p>The Server-side Text MTM simulates
    18 Text MTM simulates with the local file system the actions normally
    19 with the local file system the actions normally undertaken by a message  transport
    19 undertaken by a message  transport protocol. A Text service entry
    20 protocol. A Text service entry maps a local file directory, from which message
    20 maps a local file directory, from which message header information
    21 header information can be obtained  (in a similar fashion to POP3), and from
    21 can be obtained  (in a similar fashion to POP3), and from which messages
    22 which messages can be get and put.</p><p>A file or folder in the mapped directory
    22 can be get and put.</p><p>A file or folder in the mapped directory
    23 is regarded as a remote entry,  and recorded by an entry in the message index.
    23 is regarded as a remote entry,  and recorded by an entry in the message
    24 The name of the file to which a  message corresponds is stored in the index
    24 index. The name of the file to which a  message corresponds is stored
    25 Description field, and the full  folder path in the index Details field. No
    25 in the index Description field, and the full  folder path in the index
    26 message store is associated with  these remote entries.</p><p> Under a local
    26 Details field. No message store is associated with  these remote entries.</p><p> Under a local folder, for example, the Inbox, each message has
    27 folder, for example, the Inbox, each message has a message  store that contains
    27 a message  store that contains a rich text stream representing the
    28 a rich text stream representing the body text.</p><p>Messages can be deleted,
    28 body text.</p><p>Messages can be deleted, moved, or copied. When a
    29 moved, or copied. When a local message to  transferred to a Text service,
    29 local message to  transferred to a Text service, the Server-side MTM
    30 the Server-side MTM constructs a new file, obtaining its name and location
    30 constructs a new file, obtaining its name and location from the index
    31 from the index fields. When the transfer is from the service to a local folder,
    31 fields. When the transfer is from the service to a local folder, the
    32 the Server-side MTM creates a rich text stream and reads the file text into
    32 Server-side MTM creates a rich text stream and reads the file text
    33 it.</p><p>The Text server DLL currently supports one MTM-specific operation, <codeph>KTXTMTMRefresh</codeph>,
    33 into it.</p><p>The Text server DLL currently supports one MTM-specific
    34 which refreshes the folder tree below a service entry.</p></section>
    34 operation, <codeph>KTXTMTMRefresh</codeph>, which refreshes the folder
    35 <section><title>Class summary</title><p><xref href="GUID-DA714708-9A0B-3B10-AC8E-44C903365453.dita"><apiname>CMsvServerEntry TMsvId CMsvEntrySelection
    35 tree below a service entry.</p></section>
    36 TParse </apiname></xref></p></section>
    36 <section id="GUID-0ED77942-8593-4823-BC09-F615474FCF96"><title>Class summary</title><ul>
    37 <section><title>Move, copy, and delete implementation</title> <p>Move, copy,
    37 <li><p><xref href="GUID-681B56F3-B3A2-3147-B25A-FD69451F4A1D.dita"><apiname>CMsvServerEntry</apiname></xref></p></li>
    38 and delete operations all operate on a collection of message entries, often
    38 <li><p><xref href="GUID-A4B1F874-27C0-3BB6-9D29-C35C75A5DB98.dita"><apiname> TMsvId</apiname></xref></p></li>
    39 involving creating new index entries, and deleting existing ones. This common
    39 <li><p><xref href="GUID-6BC8851B-D913-3CE5-B343-5163661E8AD5.dita"><apiname>CMsvEntrySelection </apiname></xref></p></li>
    40 functionality is provided by the class <codeph>CTxtCopyMoveBase</codeph>. </p> <p>A <codeph>CTxtCopyMoveBase</codeph> instance
    40 <li><p><xref href="GUID-E79A3B03-F8CB-37DB-A2A8-1C6C4E4D739A.dita"><apiname>TParse </apiname></xref></p></li>
    41 is provided with an object to perform the specific operation required. The
    41 </ul></section>
    42 classes <codeph>CTxtCopyToLocalOp</codeph>, <codeph>CTxtCopyFromLocalOp</codeph>, <codeph>CTxtCopyWithinServiceOp</codeph>, <codeph>CTxtMoveToLocalOp</codeph>, <codeph>CTxtMoveFromLocalOp</codeph>, <codeph>CTxtMoveWithinServiceOp</codeph> and <codeph>CTxtDeleteOp</codeph> each
    42 <section id="GUID-2F100CE2-09A7-47C2-B890-993AC9C214D1"><title>Move, copy, and delete implementation</title> <p>Move,
    43 define the functionality for a specific operation. </p> <p>Each of these classes
    43 copy, and delete operations all operate on a collection of message
    44 is derived from <codeph>CTxtActiveOper</codeph>. The move operation classes
    44 entries, often involving creating new index entries, and deleting
    45 are derived from their copy counterparts, and add the extra deletion after
    45 existing ones. This common functionality is provided by the class <codeph>CTxtCopyMoveBase</codeph>. </p> <p>A <codeph>CTxtCopyMoveBase</codeph> instance is provided with an object to perform the specific operation
    46 copying. </p> </section>
    46 required. The classes <codeph>CTxtCopyToLocalOp</codeph>, <codeph>CTxtCopyFromLocalOp</codeph>, <codeph>CTxtCopyWithinServiceOp</codeph>, <codeph>CTxtMoveToLocalOp</codeph>, <codeph>CTxtMoveFromLocalOp</codeph>, <codeph>CTxtMoveWithinServiceOp</codeph> and <codeph>CTxtDeleteOp</codeph> each define the functionality for a specific operation. </p> <p>Each of these classes is derived from <codeph>CTxtActiveOper</codeph>. The move operation classes are derived from their copy counterparts,
    47 <section><title>Service refresh implementation</title> <p>The contents of
    47 and add the extra deletion after copying. </p> </section>
    48 folders under the file system can be changed at any time outside of the application,
    48 <section id="GUID-A9F1DBD5-046A-4B4B-A678-B8790B7E14F2"><title>Service refresh implementation</title> <p>The contents
    49 by the user or some other application. In order for these changes to be visible
    49 of folders under the file system can be changed at any time outside
    50 in the messaging application, the Server-side MTM provides a refresh capability. </p> <p>The
    50 of the application, by the user or some other application. In order
    51 refresh capability is provided by the refresher class <codeph>CTxtRefreshMBox</codeph>.
    51 for these changes to be visible in the messaging application, the
    52 It ensures that the current entries accurately reflect the state of the corresponding
    52 Server-side MTM provides a refresh capability. </p> <p>The refresh
    53 file folder, adding or removing entries under the service as required. </p> </section>
    53 capability is provided by the refresher class <codeph>CTxtRefreshMBox</codeph>. It ensures that the current entries accurately reflect the state
       
    54 of the corresponding file folder, adding or removing entries under
       
    55 the service as required. </p> </section>
    54 </conbody></concept>
    56 </conbody></concept>