48
Any message attachment can be saved as a normal file containing ordinary binary data. Conversion
and viewing of attachments is handled by EPOC’s Application Architecture, which makes use of
an extensible range of dynamically loadable recognizer DLLs to identify the MIME type of a file
and invoke suitable applications to handle it.
8.4.5.4 Observers and notification
The server API includes a pair of interface classes, which define
session observers
and
entry observers
. A
class which is defined as a session observer will be notified of events such as shutdown warnings,
new message arrival, and new MTM registration. Entry observers will be notified when the data
representing an individual entry changes, or when requested access to a message store has been
successfully gained.
Session observers are of particular interest in terms of the dynamic extensibility of the messaging
architecture - they allow new MTMs to be registered across the system, without shutting down
the messaging application. Client processes already in existence will also be notified - since all
registries are defined as session observers, they will be able to update their lists of known and
available MTM types.
8.4.5.5 External message API
The Send-As interface, which is not UI dependent, permits any application to become a client of
the messaging server in order to save messages in its outbox on a store-and-forward basis, for later
dispatch. EPOC Web uses this API for supporting HTML features such as
mailto:
URLs.
Send-As provides a simplified method of finding out what MTMs are available, what their
capabilities are, and what services they support. The most obvious capabilities are those relating
to conventional email, such as whether attachments are supported, whether the message body is
restricted to plain text, and the maximum possible message size. However, it is well worth noting
that EPOC’s messaging engine is a universal one, and that the need to establish other capabilities
is less immediately apparent – for instance, it cannot be assumed that all MTMs are capable of
both sending and receiving. An outgoing pager service is an example of a send-only transport,
while GSM CBS broadcasts constitute a message type that can only be received. Other types of
messaging may have their own highly specific requirements, such as an image rendering
capability for fax.
The Send-As API permits messages to be validated by the messaging server without forcing the
client application to launch any message specific user interface – this is particularly useful for
checking that an address is valid for the chosen message type before committing it to the outbox.
8.4.6. WEB
EPOC’s Web application is implemented as separate UI and engine components, which lie above
the Web Technology Libraries (WebTL) supplied by STNC Ltd. The architecture is dynamically
extensible and fully supports Plug-Ins.
8.4.6.1 The Web engine
This engine is delivered as two sets of components:
•
The Web Rendering engine deals with the manipulation and rendering of the
components of a web page. It relies on the WebTL libraries to fetch data tokens from the
network, and also makes use of the Web Services Engine for supplementary functions.
•
The Web Services Engine contains the remainder of the browser functionality. This
includes authentication, history lists, network monitoring, bookmark control, setting up
of proxies and configuration of both session-based and global settings.