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> |