Symbian3/SDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B" xml:lang="en"><title>BIO
       
    13 Messaging Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>The BIO Messaging Framework provides a framework supports plug-ins which
       
    15 receive, parse and process BIO messages </p>
       
    16 <p>Bearer Independent Objects (BIO) messages contain data that can be received
       
    17 and interpreted by the device. Unlike conventional messages—such as, SMS and
       
    18 email, BIO messages does not depend on the type of transport over which it
       
    19 is received. not intended to be read by the user in their raw form. BIO messages
       
    20 can be received over a number of bearers: IR, Bluetooth, SMS and WAP Push. </p>
       
    21 <section><title>Purpose</title> <p>Plug-ins supported by the framework handle
       
    22 incoming BIO messages received by a phone. BIO messages are sent to the system
       
    23 to update attributes on the system. </p> <p>Examples of BIO messages are vCards
       
    24 vCals, device settings, ringtones, graphical logos and icons, Internet access
       
    25 point setup messages and Over the Air (OTA) configuration messages. vCards
       
    26 are parsed and then displayed to the user, and when accepted they modify the
       
    27 user’s contact database. OTA configuration messages are parsed before they
       
    28 are displayed to the user, and if accepted they create email accounts or internet
       
    29 access points. </p> </section>
       
    30 <section id="GUID-6E7D52CF-F18C-5C92-9DB2-611EDD018048"><title>Key terms</title> <dl>
       
    31 <dlentry>
       
    32 <dt>vCard</dt>
       
    33 <dd><p>An electronic business card, which is a collection of properties. Properties
       
    34 can be a property name, one or more property parameters. and a property value. </p> </dd>
       
    35 </dlentry>
       
    36 <dlentry>
       
    37 <dt>vCal</dt>
       
    38 <dd><p>An electronic calendar entry, which consists of a collection of properties. </p> </dd>
       
    39 </dlentry>
       
    40 </dl> </section>
       
    41 <section><title>Architecture</title> <p>BIO Messaging Framework comprises
       
    42 of three main components—<xref href="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita#GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B/GUID-BA671884-B143-52B0-9F48-1801F465F6D6">BIO
       
    43 MTM</xref>, <xref href="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita#GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B/GUID-38031091-ED66-51CF-A025-85C7CEEC3D7D">BIO
       
    44 database</xref> and <xref href="GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita#GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B/GUID-9C9FDAE8-B89A-57EF-8F56-E0C84D9E5837">BIO
       
    45 parser</xref>. </p> <p>BIO messages are not received by the BIO Message Framework
       
    46 directly. They come over other subsystems to the BIO database. For example,
       
    47 the SMS watchers receive BIO messages from the SMS stack and use BIO Messaging
       
    48 Framework to tag the messages with the correct BIO ID. </p> <p>The following
       
    49 figure illustrates the BIO Messaging Framework architecture: </p> <fig id="GUID-2CEE40B9-2559-5CF3-B98F-2472F6B4D35D">
       
    50 <title>              BIO Messaging Framework architecture            </title>
       
    51 <image href="GUID-42609A21-CEDC-58E8-864C-0CF8458F6798_d0e290725_href.png" placement="inline"/>
       
    52 </fig> <p id="GUID-38031091-ED66-51CF-A025-85C7CEEC3D7D"><b>BIO database</b> </p> <p>The
       
    53 BIO database is used to identify the type of BIO messages. It maps message
       
    54 attributes, such as port number, MIME type, or leading string to a BIO type.
       
    55 These attributes are then used by clients of the BIO Message Framework to
       
    56 determine what ports to listen for messages. For example, SMS messages which
       
    57 start with that string and, when storing these messages in the inbox, tag
       
    58 them with the BIO ID associated with that leading string. </p> <p><b>BIO watcher</b> </p> <p>BIO
       
    59 watcher is part of the <xref href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita">Watcher
       
    60 Framework</xref>, which handles BIO messages that come from the SMS and WAP
       
    61 stack. It firsts identifies the type of BIO message using the BIO database,
       
    62 and then creates a BIO message in a Message Store using the messaging APIs. </p> <p><b>BIF
       
    63 files and utilities</b> </p> <p>BIO Information Files (BIF) are resource files
       
    64 that are read by the BIO database to provide registration information of BIO
       
    65 message types. There is one BIF file for every BIO message type. They encapsulate
       
    66 the information required for identifying BIO messages. The information may
       
    67 include the expected port number, MIME type or leading string. Different BIO
       
    68 watchers use different information. </p> <p>BIF files can be one of two formats.
       
    69 The first format is a resource file and the second format is a custom binary
       
    70 format for representing the data fields in the BIF file. The BIF utilities
       
    71 (<filepath>bifu.dll</filepath>) provide the functionality to read information
       
    72 in BIF files of both formats. </p> <p id="GUID-BA671884-B143-52B0-9F48-1801F465F6D6"><b>BIO
       
    73 MTM</b> </p> <p>The BIO Client MTM is responsible for loading the BIO database
       
    74 and BIO utilities to handle parse or process requests from messaging clients.
       
    75 It is called by a messaging client to parse or process a BIO message that
       
    76 is saved in a Message Store. If the client is trusted with the correct capabilities,
       
    77 the BIO parser DLLs are loaded successfully. Without the right capabilities,
       
    78 the DLLs will not run. A BIO watcher saves the BIO message with the BIO flag
       
    79 and the appropriate BIO type set. </p> <p>The BIO MTM does not support sending
       
    80 messages and therefore does not support reply or forward of BIO messages.
       
    81 Forwarding and replying to BIO messages is supported by the MTM that the message
       
    82 is sent over, for example SMS. </p> <p id="GUID-9C9FDAE8-B89A-57EF-8F56-E0C84D9E5837"><b>BIO
       
    83 parser and utilities</b> </p> <p>BIO parsers are plug-ins (DLLs) that provide
       
    84 parsing and processing functionality for incoming BIO messages. The parser
       
    85 uses BIO utilities to provide base functionality. BIO utilities that load
       
    86 the BIO parser use the DLL filename and load the DLLs from the <filepath>\sys\bin</filepath> location. </p> <p>Each
       
    87 BIO parser implements the <xref href="GUID-2DBFC4F4-3675-32DD-ACF7-B075827C4181.dita"><apiname>ParseL</apiname></xref> and <xref href="GUID-1451C2B5-426E-30F3-AD30-C05ECA1BF4EF.dita"><apiname>ProcessL</apiname></xref> functions.
       
    88 The level of functionality varies between parsers. Some parsers update the
       
    89 final repository with the received data. For example, the WAP parser updates
       
    90 the <codeph>CommDb</codeph> with the received settings. Some parsers save
       
    91 data in an unparsed state for processing by another component. This secondary
       
    92 parsing is not part of BIO Messaging Framework and must be initiated by a
       
    93 messaging client. For example, when generic file parser (GFP) saves a vCard
       
    94 data as a file to update the contact database, the UI must then invoke the
       
    95 Versit parser to parse the vCard and commit it to the contact database. </p> <p>It
       
    96 is possible to add new BIO parsers to provide support for different types
       
    97 of BIO message. The following are the types of parsers provided by Symbian: </p> <ul>
       
    98 <li id="GUID-884D2387-313D-5408-A72B-607036AAA67A"><p> <b>Generic file parser
       
    99 (GFP):</b> The generic file parser can be used to identify and save a variety
       
   100 of BIO data types, for example, vCards and vCals. The generic file parser
       
   101 does not process the data, it saves it in the message store for processing
       
   102 by another component. The file is saved as an attachment of the message entry
       
   103 that is parsed. </p> </li>
       
   104 <li id="GUID-732BB8B0-DD6D-5808-A260-598343727228"><p> <b>OTA parser (WAPP):</b> The
       
   105 WAPP parser decodes Nokia OTA messages and updates CommDb to reflect the received
       
   106 settings. </p> </li>
       
   107 <li id="GUID-5A42A060-4B0C-5581-A584-A34914F6B972"><p> <b>Internet Access
       
   108 Parser (IACP):</b> The IACP parser decodes Nokia smart messages and updates
       
   109 the CommDb and messaging settings where appropriate. </p> </li>
       
   110 </ul> </section>
       
   111 <section><title>API summary</title> <p> <xref href="GUID-B752DB50-DF39-3FE2-975C-D49318426F93.dita"><apiname>CBIOClientMtm</apiname></xref>, <xref href="GUID-115327CD-43D1-324B-84D7-8DFB6226C42A.dita"><apiname>CBIODatabase</apiname></xref> and <xref href="GUID-7A187B0D-79D6-3EAD-8181-FE2EBB9043DC.dita"><apiname>CBaseScriptParser2</apiname></xref> are the main APIs of BIO Message Framework. </p> </section>
       
   112 </conbody><related-links>
       
   113 <link href="GUID-4603D4ED-966F-5F70-B991-D10495BC2D7E.dita"><linktext>Watcher Framework</linktext>
       
   114 </link>
       
   115 <link href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita"><linktext>Example code</linktext>
       
   116 </link>
       
   117 </related-links></concept>