Server MTM

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.

Server MTM base class

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.

Related concepts

Related tasks