diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-17DE7D55-00C9-5D40-8AE4-39BDB20FCC5B.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,117 @@ + + + + + +BIO +Messaging Framework Overview +

The BIO Messaging Framework provides a framework supports plug-ins which +receive, parse and process BIO messages

+

Bearer Independent Objects (BIO) messages contain data that can be received +and interpreted by the device. Unlike conventional messages—such as, SMS and +email, BIO messages does not depend on the type of transport over which it +is received. not intended to be read by the user in their raw form. BIO messages +can be received over a number of bearers: IR, Bluetooth, SMS and WAP Push.

+
Purpose

Plug-ins supported by the framework handle +incoming BIO messages received by a phone. BIO messages are sent to the system +to update attributes on the system.

Examples of BIO messages are vCards +vCals, device settings, ringtones, graphical logos and icons, Internet access +point setup messages and Over the Air (OTA) configuration messages. vCards +are parsed and then displayed to the user, and when accepted they modify the +user’s contact database. OTA configuration messages are parsed before they +are displayed to the user, and if accepted they create email accounts or internet +access points.

+
Key terms
+ +
vCard
+

An electronic business card, which is a collection of properties. Properties +can be a property name, one or more property parameters. and a property value.

+
+ +
vCal
+

An electronic calendar entry, which consists of a collection of properties.

+
+
+
Architecture

BIO Messaging Framework comprises +of three main components—BIO +MTM, BIO +database and BIO +parser.

BIO messages are not received by the BIO Message Framework +directly. They come over other subsystems to the BIO database. For example, +the SMS watchers receive BIO messages from the SMS stack and use BIO Messaging +Framework to tag the messages with the correct BIO ID.

The following +figure illustrates the BIO Messaging Framework architecture:

+ BIO Messaging Framework architecture + +

BIO database

The +BIO database is used to identify the type of BIO messages. It maps message +attributes, such as port number, MIME type, or leading string to a BIO type. +These attributes are then used by clients of the BIO Message Framework to +determine what ports to listen for messages. For example, SMS messages which +start with that string and, when storing these messages in the inbox, tag +them with the BIO ID associated with that leading string.

BIO watcher

BIO +watcher is part of the Watcher +Framework, which handles BIO messages that come from the SMS and WAP +stack. It firsts identifies the type of BIO message using the BIO database, +and then creates a BIO message in a Message Store using the messaging APIs.

BIF +files and utilities

BIO Information Files (BIF) are resource files +that are read by the BIO database to provide registration information of BIO +message types. There is one BIF file for every BIO message type. They encapsulate +the information required for identifying BIO messages. The information may +include the expected port number, MIME type or leading string. Different BIO +watchers use different information.

BIF files can be one of two formats. +The first format is a resource file and the second format is a custom binary +format for representing the data fields in the BIF file. The BIF utilities +(bifu.dll) provide the functionality to read information +in BIF files of both formats.

BIO +MTM

The BIO Client MTM is responsible for loading the BIO database +and BIO utilities to handle parse or process requests from messaging clients. +It is called by a messaging client to parse or process a BIO message that +is saved in a Message Store. If the client is trusted with the correct capabilities, +the BIO parser DLLs are loaded successfully. Without the right capabilities, +the DLLs will not run. A BIO watcher saves the BIO message with the BIO flag +and the appropriate BIO type set.

The BIO MTM does not support sending +messages and therefore does not support reply or forward of BIO messages. +Forwarding and replying to BIO messages is supported by the MTM that the message +is sent over, for example SMS.

BIO +parser and utilities

BIO parsers are plug-ins (DLLs) that provide +parsing and processing functionality for incoming BIO messages. The parser +uses BIO utilities to provide base functionality. BIO utilities that load +the BIO parser use the DLL filename and load the DLLs from the \sys\bin location.

Each +BIO parser implements the ParseL and ProcessL functions. +The level of functionality varies between parsers. Some parsers update the +final repository with the received data. For example, the WAP parser updates +the CommDb with the received settings. Some parsers save +data in an unparsed state for processing by another component. This secondary +parsing is not part of BIO Messaging Framework and must be initiated by a +messaging client. For example, when generic file parser (GFP) saves a vCard +data as a file to update the contact database, the UI must then invoke the +Versit parser to parse the vCard and commit it to the contact database.

It +is possible to add new BIO parsers to provide support for different types +of BIO message. The following are the types of parsers provided by Symbian:

    +
  • Generic file parser +(GFP): The generic file parser can be used to identify and save a variety +of BIO data types, for example, vCards and vCals. The generic file parser +does not process the data, it saves it in the message store for processing +by another component. The file is saved as an attachment of the message entry +that is parsed.

  • +
  • OTA parser (WAPP): The +WAPP parser decodes Nokia OTA messages and updates CommDb to reflect the received +settings.

  • +
  • Internet Access +Parser (IACP): The IACP parser decodes Nokia smart messages and updates +the CommDb and messaging settings where appropriate.

  • +
+
API summary

CBIOClientMtm, CBIODatabase and CBaseScriptParser2 are the main APIs of BIO Message Framework.

+
+Watcher Framework + +Example code + +
\ No newline at end of file