OBEX MTM Overview

OBEX MTM offers simple Infrared (IR) and Bluetooth beaming functionality. Client applications can use the API to send one or more objects (attachments) using IR or Bluetooth.

Key concepts and terms

IR

The exchange of data on infrared system.

Bluetooth

A short-range radio communications technology, standardised by the Bluetooth Special Interest Group (SIG) in the form of the Bluetooth specification.

Architecture

The Messaging Middleware architecture defines a framework in which modules (MTMs) can be implemented that provide support for particular messaging protocols. The OBEX MTM component includes the Bluetooth and Infrared beaming MTMs. The functionality provided by OBEX MTM is generic to both of the underlying transports. To use the OBEX MTM it is necessary to use either the IR or Bluetooth MTM.

The OBEX API provides client MTMs for IR and Bluetooth MTMs and supporting utilities.

Description

The OBEX MTM has three components: OBEX MTM DLLs, IR MTM DLLs and Bluetooth MTM DLLs.

Note: he OBEX MTM DLLs cannot be used on their own, as they provide the base OBEX MTM functionality for the derived IR and Bluetooth MTMs.

OBEX MTM

The OBEX MTM provides the ability to send one or more objects (attachments) using one of the two underlying transports (IR or Bluetooth). No receiving capability is provided by the MTM. In order to receive OBEX messages it is necessary to use the underlying OBEX transport APIs directly.

The SendAs interface is supported for the construction of messages. An additional API is provided for sending attachments without the need to create a copy of the attachment in the message store. Unlike many other MTMs, after OBEX tries to send a message, the message is deleted from the outbox whether the sending succeeds or fails.

Figure 1. OBEX MTM class diagram

IR MTM

The generic OBEX MTM functionality is provided by the OBEX MTM DLLs, the IR MTM itself just sets up the parameters. The IR MTM supports non-standard OBEX transfer to maintain compatibility with older versions of Microsoft Windows, for example, Windows 98. The non-standard OBEX transfer is attempted only if the standard OBEX transfer has failed.

Bluetooth MTM

The generic OBEX MTM functionality is provided by the OBEX MTM DLLs, the Bluetooth MTM just subclasses from the OBEX MTM and sets up Bluetooth specific parameters.

OBEX MTM Utilities

The OBEX MTM Utilities provide utility functionality used by the other OBEX MTM DLLs. The following are the two main areas of functionality provided by this component:

  • Filename linking functionality

    The filename linking functionality is provided in the utilities library, because linked files must be added by the client side during message creation and need to be read on the server-side during sending messages.

  • Bluetooth SDP lookup

    The Bluetooth MTM performs the required SDP lookup prior to sending the message. The address of the recipient device can be set on the outgoing message by the UI.

API summary

The following client APIs are provided by the OBEX MTM component.

API Description

CBtClientMtm

Provides client-side functionality for Bluetooth messaging.

CIrClientMtm

Provides client-side functionality for IR messaging.

CObexHeaderList

Encapsulates and owns a list of CObexHeader objects.

Typical uses

Client applications can use the API to send one or more objects (attachments) using IR or Bluetooth.

Related concepts
Message Type Module
GMXML