Symbian3/PDK/Source/GUID-AB40C087-F5AF-5D73-82ED-B89BA2B702B9.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-AB40C087-F5AF-5D73-82ED-B89BA2B702B9" xml:lang="en"><title>OBEX
MTM Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>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. </p>
<section><title>Key concepts and terms</title> <dl>
<dlentry>
<dt>IR</dt>
<dd><p>The exchange of data on infrared system. </p> </dd>
</dlentry>
<dlentry>
<dt>Bluetooth</dt>
<dd><p>A short-range radio communications technology, standardised by the
Bluetooth Special Interest Group (SIG) in the form of the Bluetooth specification. </p> </dd>
</dlentry>
</dl> </section>
<section><title>Architecture</title> <p>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. </p> <p>The OBEX API provides
client MTMs for IR and Bluetooth MTMs and supporting utilities. </p> </section>
<section><title>Description</title> <p>The OBEX MTM has three components:
OBEX MTM DLLs, IR MTM DLLs and Bluetooth MTM DLLs. </p><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.</note> <p><b>OBEX MTM</b> </p> <p>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. </p> <p>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. </p> <fig id="GUID-251B613E-3FF9-5219-A9FA-F6D82B77979D">
<title>                 OBEX MTM class diagram               </title>
<image href="GUID-A7EDCB44-9E73-5FD9-B6FB-AE0BAFDC1213_d0e475813_href.jpg" placement="inline"/>
</fig> <p><b>IR MTM</b> </p> <p>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. </p> <p><b>Bluetooth
MTM</b> </p> <p>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. </p> <p><b>OBEX MTM Utilities</b> </p> <p>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: </p> <ul>
<li id="GUID-38D310E8-E333-5963-BD21-9EF5E6C0EF0D"><p>Filename linking functionality </p> <p>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. </p> </li>
<li id="GUID-415DCBE3-376A-57AE-A0AA-7E244D46831A"><p>Bluetooth SDP lookup </p> <p>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. </p> </li>
</ul> </section>
<section><title>API summary</title> <p>The following client APIs are provided
by the OBEX MTM component. </p> <table id="GUID-394ED37D-47F6-5537-9B4A-B5B77CEA27A9">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>API</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <xref href="GUID-453AF29D-0B38-3903-A4CF-883A22551F75.dita"><apiname>CBtClientMtm</apiname></xref>  </p> </entry>
<entry><p>Provides client-side functionality for Bluetooth messaging. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-1705A724-0A38-30BE-9277-A208F62EEEB7.dita"><apiname>CIrClientMtm</apiname></xref>  </p> </entry>
<entry><p>Provides client-side functionality for IR messaging. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-F4577312-35AC-32DE-AE0E-45BB0E0A761F.dita"><apiname>CObexHeaderList</apiname></xref>  </p> </entry>
<entry><p>Encapsulates and owns a list of <xref href="GUID-3D2D218E-4BA7-38A5-8B2C-FC178802C81F.dita"><apiname>CObexHeader</apiname></xref> objects. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section><title>Typical uses</title> <p>Client applications can use the API
to send one or more objects (attachments) using IR or Bluetooth. </p> </section>
</conbody><related-links>
<link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext>Message Type
Module</linktext></link>
<link href="GUID-99BD7331-D82A-5A2E-B2E4-314AD3FF38B7.dita"><linktext>GMXML</linktext>
</link>
</related-links></concept>