51
EPOC’s communication components can cope with all the design constraints of mobile ROM-
based devices because one of their key characteristics is a high level of
dynamic extensibility
. This is
generally obtained by combining EPOC’s distinctive client-server framework for resource
allocation with a mature object-oriented design of the associated APIs. EPOC permits the run-
time loading of plug-in modules on request, at all levels of operation, from applications down the
kernel, irrespective of when they were installed on the system. This applies to
•
the logical and physical device drivers (LDDs and PDDs) used by the kernel
•
the communication control modules (CSYs) used by the serial comms server
•
the telephone and modem control modules (TSYs) used by the telephony server
•
the protocol modules (PRTs) and connection agents (AGTs) used by the sockets server
•
the message type modules (MTMs) used by Email
•
the Web plug-ins used by the browser
The way that these modules implement extensibility is discussed in more detail in the companion
to this paper
EPOC Communications: Implementation
.
8.4.7.3 End-user goals
EPOC delivers two capable end-user Internet applications:
•
The EPOC Email application supports POP3/SMTP/IMAP4 Internet email, and fax
send/receive. This is integrated with fax printing. When used with a suitable mobile
phone, SMS is also supported.
•
EPOC Web supports HTML to HTML 4.0 specification, including support for forms,
frames, GIF and JPEG graphics, animated GIFs, and downloadable Java applets.
Both Email and Web are designed as universal engines, with details of add-on modules being
kept in associated registries. This means that service-specific and protocol-specific components
can be installed and then loaded on demand.
In addition to the above:
•
A serial communications application provides old-style terminal emulator access to dial-
up services. TTY and VT100 emulations are supported, with automated scripting, and
XMODEM and YMODEM file transfers.
•
EPOC’s communications facilities provide support for connection to PCs and other
machines, for backup and restore, data synchronisation, printing and file conversion.
•
Infra-red beaming of industry standard vCard and vCalendar objects is supported to and
from any machine that implements the IrObex protocol, while any object can be beamed
between two EPOC machines.
8.4.7.4 Implementation goals
EPOC is available in a number of different configurations, called DFRDs (Device Family
Reference Designs). As their name implies, these EPOC variants are aimed at families of machines
with common hardware characteristics. For each configuration, a different GUI has to be
implemented to properly handle the wide variations in screen sizes and available input devices. In
order to ease the task of porting between DFRDs, the communications applications have been
split into GUI-independent and GUI-dependent parts. Only the latter need to be replaced when
porting to a new DFRD.
In keeping with Symbian’s established practice, GUI-independent parts of applications are often
further split into data-handling and graphics sections. For instance, separate components are used
for fax send/receive, and for viewing fax data.
Like everything in EPOC, the communications facilities are implemented efficiently so as to use
as little ROM and RAM as possible. In addition, the component granularity is quite fine to allow
OEMs to configure the exact components used in a particular EPOC machine. The system
architecture also permits OEMs to choose which components should be ROM-based and which
should go in RAM. Especially where ROM budgets are tight, this added flexibility can be used to
ensure that memory on any specific EPOC implementation is used as efficiently as possible.