Symbian3/SDK/Source/GUID-963C0F50-A44A-518E-8DB0-42BEBEFD10A2.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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 id="GUID-963C0F50-A44A-518E-8DB0-42BEBEFD10A2" xml:lang="en"><title>Server
MTM</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Server MTMs provide specific message type storage and transport. It interacts
with the Messaging Server to store and manage entries and provide a transport
mechanism, using components such as the Telephony Server or Sockets Server,
to send and receive messages. When a message is received, the Server MTM creates
a new index entry and stores the message data in the entry’s store and binary
files. Conversely, when a message is sent, the Server MTM retrieves the message
data from the index, and converts the message into a format appropriate for
the message transport. </p>
<p>Server MTMs must provide the following capabilities: </p>
<ul>
<li id="GUID-9E456784-BFC9-5B2E-94F9-006B81E35C01"><p>Copy and move files
to or from the local folders </p> </li>
<li id="GUID-22540C83-541C-5728-820E-21C655757150"><p>Return the progress
of the current operation </p> </li>
<li id="GUID-8D06F04B-DE60-583C-B542-6467ECD7EC20"><p>Interpret MTM-specific
commands </p> </li>
</ul>
<p> <b>Note:</b> Some Server MTMs may also have the ability to create, delete,
and change messages and folders on remote servers. </p>
<section id="GUID-54184D61-6325-525D-947F-D86EF8072BFC"><title>Server MTM
base class</title> <p>The base class for Server MTM is <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita"><apiname>CBaseServerMtm</apiname></xref>. </p> <p> <b>Note:</b> Developers
of Messaging client applications must not be concerned with this class and
its sub-classes, as these are accessed only by the Message Server. </p> <p>Server
MTM functions are called by the Message Server as a result of a client request
that requires some remote operation with the MTM's protocol. The following
are some significant functions that can be implemented in a class derived
from the <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita"><apiname>CBaseServerMtm</apiname></xref> base class: </p> <ul>
<li id="GUID-BE65FBCE-ACE6-5EE4-ACDD-86D738D08FD9"><p> <b>Copy and move from
remote functions</b>  </p> <p>The <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-166EBB68-10B0-30E3-AFD8-0D69C157EE24"><apiname>CBaseServerMtm::CopyToLocalL()</apiname></xref> and <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-36023F8B-FCDA-333C-B4ED-09F757D8118C"><apiname>CBaseServerMtm::MoveToLocalL()</apiname></xref> functions
are called by the Message Server to get a selection of entries from a remote
location. For many protocols, this must be interpreted as message retrieval.
For protocols where messages exist on a remote server, this function is typically
used to download specific messages, after an initial connection has downloaded
message headers. </p> </li>
<li id="GUID-B83857B3-9C9D-5532-94DA-2A05A8DE6127"><p> <b>Copy and move to
remote functions</b>  </p> <p>The <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-D6CF1EC5-E40F-3B8A-8085-AD38805614BC"><apiname>CBaseServerMtm::CopyFromLocalL()</apiname></xref> and <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-84A4D5CE-EEF5-3AC4-BB17-F870A9210BCA"><apiname>CBaseServerMtm::MoveFromLocalL()</apiname></xref> functions
are called by the Message Server to copy or move a selection of entries to
a remote location. For many protocols, this must be interpreted as message
sending. </p> </li>
<li id="GUID-D7DBB8BD-888C-5CB0-8279-2B38E0ADB9C9"><p> <b>Copy and move within
remote functions</b>  </p> <p>The <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-5E5FF06A-D76D-3DF8-9594-178651D48F82"><apiname>CBaseServerMtm::CopyWithinServiceL()</apiname></xref> and <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita#GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD/GUID-F4ABBEDC-2011-347E-9180-20A41DA792EF"><apiname>CBaseServerMtm::MoveWithinServiceL()</apiname></xref> functions are called by the Message Server to copy a selection of entries
within a remote service. </p> </li>
</ul> <p>The <xref href="GUID-D088273D-FAFE-30F6-8D0A-3A62D3DE62FD.dita"><apiname>CBaseServerMtm</apiname></xref> class provides the virtual
functions for overriding in derived classes.</p> </section>
</conbody><related-links>
<link href="GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita"><linktext>MTM overview</linktext>
</link>
<link href="GUID-BAD138D5-2914-5C6E-9FA4-F7A3CCB85E6D.dita"><linktext>MTM Capabilities</linktext>
</link>
<link href="GUID-5D5BF7E5-4105-572E-81B5-0E61E1AA443E.dita"><linktext>Writing a
Server MTM</linktext></link>
</related-links></concept>