User Interface MTM

User Interface (UI) MTMs offer user interface capabilities, such as viewing, editing and copying of messages. Users interact with different message types in different ways. For example, a messaging protocol that supports attachments needs a more feature-rich editor than one that only supports text. UI MTMs allows a developer to produce user interface components to suit these differing requirements. Some Messaging protocols do not need any user interaction at all: in such cases, a UI MTM component does not need to be implemented.

UI MTMs offer some or all of the following capabilities:

  • Message viewing

  • Message editing

  • Folder manipulation

  • Editing service settings

  • Providing pre-transfer or connection settings UI

  • Providing pre-transfer preparation of messages before sending

  • Interpreting and displaying mail transfer progress

  • Interpreting and displaying error conditions

UI MTM base class

The base class for UI MTMs is CBaseMtmUi . Message client applications use the class to access the functionality polymorphically. Many functions are required to return an instance of a CMsvOperation derived class to provide asynchronous control and monitoring to the caller of the operation being performed.

The following are some significant functions that can be implemented in a class derived from the CBaseMtmUi base class:

The CBaseMtmUi class provides the virtual functions for overriding in derived classes.

Editors and viewers

Functionality to edit and view messages may be one of the larger programming tasks in creating an MTM. Such functionality is typically implemented in separate DLLs that the UI MTM loads as required, to reduce the memory footprint of a UI MTM.

Related tasks
Writing a UI MTM