The Symbian OS (779886), страница 36
Текст из файла (страница 36)
to BIO types in order to identify the type ofincoming BIO messages), and plug-in parsers that parse and process theBIO message payload. Because BIO messages arrive over other messagetransports, for example as a WAP push or an SMS, watchers are usedto receive and tag incoming BIO messages. Watchers that watch forspecific message types are created by deriving from and implementingthe watcher framework classes.ARCHITECTURE145The scheduled send framework is implemented by the Server MTMand provides classes that define the scheduling parameters, allowingmessages to be scheduled (sent later), rescheduled or deleted from theschedule.
MTM implementations for different message types can choosewhether or not to support message scheduling.At Symbian OS v9, the supported message types include email (POP3,IMAP4 and SMTP), SMS and OBEX. MMS messaging, which was includedin Symbian OS v8, may be provided as part of a licensee user interfaceimplementation.Content handlingAn important aspect of supporting messaging, browsing, and othernetwork-oriented applications is the provision of content recognition,parsing and access services for protected content (key, certificate or otherDRM-protected downloads, for example).Symbian OS provides standard application services that support:• file and data recognition based on MIME types (MIME RecognitionFramework), standard web types (Web Recognizers) and multimediafile types (MMF Recognizers)• parsers and handlers to support SMIL (SMIL Parser) and ‘smart’ messages and content (BIO Messaging Parsers) and WAP ‘push’ messages(WAP Push Handlers)• handling and providing access to DRM-protected content (ContentAccess Framework for DRM).These services are used by applications either indirectly via the various application-level messaging, web and multimedia frameworks andservices or directly through the Application Architecture recognizer interface.
These services are also used by system components, for example,the messaging framework.The Application Architecture provides a ‘Recognize Data’ interfacewhich is implemented by plug-ins to the MIME Recognition Framework.This enables recognition of non-native document types in order to associate documents with applications. (Native document types are identifiedand associated with applications using UIDs).
Associating documentswith applications allows appropriate applications to be started (or offeredto users) when a user performs an action to open a document, as wellas allowing default documents to be located when applications arelaunched. Data types as well as documents can be recognized.File and data recognizers are written as plug-ins to the MIME Recognizer Framework (from Symbian OS v9 they conform to the ECOMPlug-in Framework) and are scanned for and loaded during operatingsystem startup.146THE APPLICATION SERVICES LAYERData recognizers are provided for common MIME types, URLs, webbookmarks, HTML and XML, and multimedia file types. The supportedmultimedia types depend on the licensee implementation of multimediaplug-ins for supported media types.Applications can register with the Application Architecture as handlersfor specified MIME/data types. The Application Architecture maintains alist of all recognizers in the system and their supported data types.The WAP Push handlers are intended to support WAP browser applications.
They are plug-ins to the WAP Push Framework and respond toWAP Service Initiation (SI) and Service Load (SL) signals to take ownership of incoming messages and validate, parse, and extract the messagecontent. SI and SL messages signal actions to WAP browser applications(to display content or a URL), unlike other WAP Push message types(MMS and OTA), which are pure message carriers for messaging, notbrowsing, services. The Web Push handlers are intended to support WAPbrowser applications directly.The Content Access Framework provides a generic mechanism tosupport DRM implementations, based on defined interfaces for brokering controlled content between content agents (DRM applications) andcontent-consuming applications (for example, media players).The BIO Messaging parsers plug into the BIO Messaging Framework toenable parsing of specific BIO message types, including vCard businesscards, email notifications, Nokia Smart Messages and Nokia and EricssonOTA setup messages.
(Note that BIO Messages use WAP messaging.)The SMIL Parser is an XML parser that uses a ‘mini-DOM’-like API toparse and validate XML against simple DTDs. SMIL is an XML languagethat defines presentation attributes for encoded text, images, video andaudio. It is provided primarily to support handling of MMS messages withSMIL content. (Note the earlier remarks about MMS not necessarily beingsupported on all devices from Symbian OS v9.) The parser however isalso available for direct use by applications and provides APIs to performsimple XML parsing (not limited to SMIL). Heavier duty, generic XMLparsing is provided by Base Services components.A SMIL parser was first introduced in Symbian OS v7.0.
The currentimplementation, which is able to parse any XML document against asimple DTD, was introduced in Symbian OS v7.0s and the original parserwas deprecated.Internet, web and multimedia protocol supportA number of components provide infrastructure support for Internet andweb applications including web and WAP browsers and WAP messaging.Newer protocols such as RTP and SIP have also been introduced in thelatest releases of the operating system to support new categories ofinteractive streaming applications.ARCHITECTURE147Basic Internet, web and WAP support consists of framework, utility,and application engine components providing application-level interfacesto Internet protocols (HTTP, Telnet) and WAP Push messaging.
TheHTTP Transport Framework provides a generalized client interface forapplications wanting HTTP transport sessions over TCP/IP or WSP sessions(the WAP equivalent of HTTP).The HTTP Transport Framework provides a complete supporting framework for HTTP and WSP applications, such as HTML or WAP browsers.For WAP browsing the underlying support of a full WAP stack is required;this is no longer part of the Symbian OS delivery and therefore dependson the licensee platform to provide a full WAP stack.
The frameworkadopts a session model based on a core client API and request–responsemessage exchange transactions with a remote URL.The WAP Push components provide an interface between the WAPstack and the messaging infrastructure to support WAP as a messagingtransport. The WAP Push components are used by the messaging services,to support receiving WAP push messages and BIO messages, and by othersystem components including, for example, Java. Note that simple clientaccess to WAP push is provided by the WAP Message API of the WAPStack.Implementers of a WAP stack need to be aware of the dependencyof the HTTP Transport Framework on it. In effect, the lower level of theframework serves as an adaptation layer to the WAP stack, implying thatwork is required to adapt it to a WAP stack implementation.The Telnet and FTP engines are rather simple application-level servicesbased on clients creating a client session to the Symbian Telnet or FTPdaemon, through which the client can conduct a dialog with a specifiedhost.
(Note that FTP does not expose public APIs.)More specialized Web browsing support is provided by the stand-aloneBookmark Support component, which provides access to a bookmarkdatabase and APIs for creating, reading and deleting bookmarks andcreating a folder tree. The database uses the Central Repository to storeall data. There is only one bookmark database.A folder object contains an array of CBookmarkBase objects. Abookmark must contain a URI, authentication data, the last time it wasvisited and an indication if it is the home page. Applications can set itemvisibility to public or private.HTTP transport frameworkThe HTTP Transport Framework is based around a Core API, whichmanages the client-session interface to a session based on either aWSP or HTTP protocol, for example for WAP or web browsing.