diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita --- a/Symbian3/SDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-59217FA7-3078-53CA-88B3-78D6FB788271.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,109 +1,109 @@ - - - - - -Message -Type Module Overview -

Message Type Modules (MTMs) are polymorphic DLL plug-ins that implement -the interfaces defined by the Message Server framework to handle various message -types—such as, IMAP4, POP3, SMTP, SMS and MMS.

-
Purpose

Client applications can access different -types of message and every message type must handled in a specific way. To -support a new message type within the client applications, MTMs to implement -that type must be provided. The following points are specific to each message -type, and so must be implemented in an MTM:

    -
  • Message structure

  • -
  • User interface requirements

  • -
  • Addressing mechanism

  • -
  • Error handling mechanism

  • -
  • MTM DLL information

  • -

A Message Server abstraction that is used to locate and load particular -MTM components.

-
Description

The MTM architecture is the plug-in -scheme provided by the Messaging Framework to integrate different message -transports to the Message Server. The plug-in scheme consists of four interfaces, -the UI MTM, UI Data MTM, Client MTM and Server MTM.

    -
  • Client MTM manages the -message type’s data model, providing the UI MTM and client applications with -interfaces to access and to search for messages.

  • -
  • User Interface (UI) -Data MTM provides icons, menu text and a list of capabilities for a message -type.

  • -
  • User Interface (UI) -MTM implements the user interface required for the message type, including -a viewer, editor and dialog settings.

  • -
  • Server MTM provides -message transport over the network and manages a queue of outstanding client -requests, and ensures that more than one message of a given type is sent simultaneously.

  • -

Each of the MTM DLLs is a polymorphic DLL that exports an instance -of a system-defined base class. The Message Server and client applications -use these base class interfaces to access MTM functionality in a generic and -extensible way. The MTM in turn implements a specialized version of the class -to provide specific message type functionality.

Client applications -can load and use the UI MTM, UI Data MTM and Client MTM DLLs. The DLLs are -loaded within the client’s process space. The Server MTM DLLs are loaded within -the Message Server process. The Messaging Middleware architecture allows clients -to access the combined functionality of the Message Server and the Server -MTMs through a single server interface. The following figure shows the MTM -architecture.

- MTM architecture - -
-
Message Server and MTMs

The following figure shows -the relationship between the Message Server and MTMs. The grey classes are -realisations of the MTM interfaces defined by the Messaging Framework. The -Message Server depends on the Server MTM interface and controls access to -message data and delegates protocol-specific requests to Server side MTMs. -Messaging clients depend on the Client, UI and UI Data MTM interfaces and -the Message Server client API.

- Relationship between Message Server and MTMs - - -
-
MTM class summary

Messaging Middleware provides -the following base classes, which defines the component interfaces for MTM -implementations.

    -
  • The base class for UI -MTMs is CBaseMtmUi.

  • -
  • The base class for UI -Data MTMs is CBaseMtmUiData.

  • -
  • The base class for Client -MTMs is CBaseMtm.

  • -
  • The base class for Server -MTMs is CBaseServerMtm.

  • -

Important: MTMs can also provide message type-specific functionality -that is not defined by the base class interfaces. For example, for IMAP4, -perform a full synchronization with a remote service; for POP3, connect to -a remote server and download messages. The APIs for the client interfaces -are extensible through run time type information provided by the QueryCapability API, -and the InvokeAsyncFunction and InvokeSyncFunction APIs.

For -information on how to implement the base classes, see the Implementing -MTMs.

-
MTM functions

The MTM DLLs provide the following -functions. MTMs implement them according to the requirements for the message -type:

    -
  • Querying functionality

    Allow -the client applications to query the supported functionality for the message -type. For example, the maximum message size or whether attachments are supported.

  • -
  • Message management functionality

    Allow -the client applications to manage the messages, for example, to send, reply -and forward messages.

  • -
  • Attachment management -functionality

    Allow the client applications to handle attachments. -For example, to add, remove or create an attachment for a particular message.

  • -
-
-Message Server -and Store -Types of -MTM -Implementing -MTMs + + + + + +Message +Type Module Overview +

Message Type Modules (MTMs) are polymorphic DLL plug-ins that implement +the interfaces defined by the Message Server framework to handle various message +types—such as, IMAP4, POP3, SMTP, SMS and MMS.

+
Purpose

Client applications can access different +types of message and every message type must handled in a specific way. To +support a new message type within the client applications, MTMs to implement +that type must be provided. The following points are specific to each message +type, and so must be implemented in an MTM:

    +
  • Message structure

  • +
  • User interface requirements

  • +
  • Addressing mechanism

  • +
  • Error handling mechanism

  • +
  • MTM DLL information

  • +

A Message Server abstraction that is used to locate and load particular +MTM components.

+
Description

The MTM architecture is the plug-in +scheme provided by the Messaging Framework to integrate different message +transports to the Message Server. The plug-in scheme consists of four interfaces, +the UI MTM, UI Data MTM, Client MTM and Server MTM.

    +
  • Client MTM manages the +message type’s data model, providing the UI MTM and client applications with +interfaces to access and to search for messages.

  • +
  • User Interface (UI) +Data MTM provides icons, menu text and a list of capabilities for a message +type.

  • +
  • User Interface (UI) +MTM implements the user interface required for the message type, including +a viewer, editor and dialog settings.

  • +
  • Server MTM provides +message transport over the network and manages a queue of outstanding client +requests, and ensures that more than one message of a given type is sent simultaneously.

  • +

Each of the MTM DLLs is a polymorphic DLL that exports an instance +of a system-defined base class. The Message Server and client applications +use these base class interfaces to access MTM functionality in a generic and +extensible way. The MTM in turn implements a specialized version of the class +to provide specific message type functionality.

Client applications +can load and use the UI MTM, UI Data MTM and Client MTM DLLs. The DLLs are +loaded within the client’s process space. The Server MTM DLLs are loaded within +the Message Server process. The Messaging Middleware architecture allows clients +to access the combined functionality of the Message Server and the Server +MTMs through a single server interface. The following figure shows the MTM +architecture.

+ MTM architecture + +
+
Message Server and MTMs

The following figure shows +the relationship between the Message Server and MTMs. The grey classes are +realisations of the MTM interfaces defined by the Messaging Framework. The +Message Server depends on the Server MTM interface and controls access to +message data and delegates protocol-specific requests to Server side MTMs. +Messaging clients depend on the Client, UI and UI Data MTM interfaces and +the Message Server client API.

+ Relationship between Message Server and MTMs + + +
+
MTM class summary

Messaging Middleware provides +the following base classes, which defines the component interfaces for MTM +implementations.

    +
  • The base class for UI +MTMs is CBaseMtmUi.

  • +
  • The base class for UI +Data MTMs is CBaseMtmUiData.

  • +
  • The base class for Client +MTMs is CBaseMtm.

  • +
  • The base class for Server +MTMs is CBaseServerMtm.

  • +

Important: MTMs can also provide message type-specific functionality +that is not defined by the base class interfaces. For example, for IMAP4, +perform a full synchronization with a remote service; for POP3, connect to +a remote server and download messages. The APIs for the client interfaces +are extensible through run time type information provided by the QueryCapability API, +and the InvokeAsyncFunction and InvokeSyncFunction APIs.

For +information on how to implement the base classes, see the Implementing +MTMs.

+
MTM functions

The MTM DLLs provide the following +functions. MTMs implement them according to the requirements for the message +type:

    +
  • Querying functionality

    Allow +the client applications to query the supported functionality for the message +type. For example, the maximum message size or whether attachments are supported.

  • +
  • Message management functionality

    Allow +the client applications to manage the messages, for example, to send, reply +and forward messages.

  • +
  • Attachment management +functionality

    Allow the client applications to handle attachments. +For example, to add, remove or create an attachment for a particular message.

  • +
+
+Message Server +and Store +Types of +MTM +Implementing +MTMs
\ No newline at end of file