diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-DB1D3045-2DC5-5C50-B430-526674369DC6.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-DB1D3045-2DC5-5C50-B430-526674369DC6.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,54 @@ + + + + + +Server-side +MTM implementation +
Example Code

Click on the following link to download +the example: TextMTM.zip

Click: browse to view the example code.

The +files reproduced here are the main files contained in the examples directory. +Some extra files may be needed to run the examples, and these will be found +in the appropriate examples directory.

The Server-side Text MTM simulates +with the local file system the actions normally undertaken by a message transport +protocol. A Text service entry maps a local file directory, from which message +header information can be obtained (in a similar fashion to POP3), and from +which messages can be get and put.

A file or folder in the mapped directory +is regarded as a remote entry, and recorded by an entry in the message index. +The name of the file to which a message corresponds is stored in the index +Description field, and the full folder path in the index Details field. No +message store is associated with these remote entries.

Under a local +folder, for example, the Inbox, each message has a message store that contains +a rich text stream representing the body text.

Messages can be deleted, +moved, or copied. When a local message to transferred to a Text service, +the Server-side MTM constructs a new file, obtaining its name and location +from the index fields. When the transfer is from the service to a local folder, +the Server-side MTM creates a rich text stream and reads the file text into +it.

The Text server DLL currently supports one MTM-specific operation, KTXTMTMRefresh, +which refreshes the folder tree below a service entry.

+
Class summary

CMsvServerEntry TMsvId CMsvEntrySelection +TParse

+
Move, copy, and delete implementation

Move, copy, +and delete operations all operate on a collection of message entries, often +involving creating new index entries, and deleting existing ones. This common +functionality is provided by the class CTxtCopyMoveBase.

A CTxtCopyMoveBase instance +is provided with an object to perform the specific operation required. The +classes CTxtCopyToLocalOp, CTxtCopyFromLocalOp, CTxtCopyWithinServiceOp, CTxtMoveToLocalOp, CTxtMoveFromLocalOp, CTxtMoveWithinServiceOp and CTxtDeleteOp each +define the functionality for a specific operation.

Each of these classes +is derived from CTxtActiveOper. The move operation classes +are derived from their copy counterparts, and add the extra deletion after +copying.

+
Service refresh implementation

The contents of +folders under the file system can be changed at any time outside of the application, +by the user or some other application. In order for these changes to be visible +in the messaging application, the Server-side MTM provides a refresh capability.

The +refresh capability is provided by the refresher class CTxtRefreshMBox. +It ensures that the current entries accurately reflect the state of the corresponding +file folder, adding or removing entries under the service as required.

+
\ No newline at end of file