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.
Server MTMs must provide the following capabilities:
Copy and move files to or from the local folders
Return the progress of the current operation
Interpret MTM-specific commands
Note: Some Server MTMs may also have the ability to create, delete, and change messages and folders on remote servers.
The base class for Server MTM is CBaseServerMtm
.
Note: 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.
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 CBaseServerMtm
base class:
Copy and move from remote functions
The CBaseServerMtm::CopyToLocalL()
and CBaseServerMtm::MoveToLocalL()
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.
Copy and move to remote functions
The CBaseServerMtm::CopyFromLocalL()
and CBaseServerMtm::MoveFromLocalL()
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.
Copy and move within remote functions
The CBaseServerMtm::CopyWithinServiceL()
and CBaseServerMtm::MoveWithinServiceL()
functions are called by the Message Server to copy a selection of entries
within a remote service.
The CBaseServerMtm
class provides the virtual
functions for overriding in derived classes.