39
preventing sharing. These simplifications deliver a useful application with a well-controlled user
interface.
DAMODEL is the engine, adding various settings and utilities to the DBMS data. Columns may be
rich text and hence include pictures and other embedded objects. Data may be viewed a card at a
time, in a grid, re-using the GRID component.
Spell
An application GUI built on the LEXICON engine.
Jotter
A modified form of the Data application.
8.3.3.3.2 PIM
Contacts
CNTMODEL provides the contacts engine and server which in turn is a client of a shared DBMS-
managed database.
CONTACUI provides re-usable GUI code, used by both the Contacts app and contacts-using
clients such as Email. Contacts can be selected conveniently through CONTACUI, and new
contacts may be added.
CONTACTS is the EIKON application.
Agenda
AGNMODEL provides the engine and server. AGNVIEW is the application. FORM is used for
rich text entries including embedded memos, or hand-written/drawn sketch entries. The alarm
server EALWL is used for alarms associated with agenda items.
AGNMODEL implements agendas using a permanent file store — not a DBMS database. Agenda
entries use a very compact format.
Time
The alarm/world server, EALWL, is used for both alarm clock functions, and world country, city
and timezone information. EALWL is effectively the engine for TIME, the EIKON application.
8.3.3.3.3 Communications
A server is used to control all message store operations. Multiple clients may be simultaneously
active. Incoming messages may be added to the store while client applications are running.
Internet e-mails use globally formatted rich text. Attachments are stored as binary files separately
from e-mails. The application architecture is used to launch converters/viewers for Microsoft
Word attachments: macros, with their potential for viruses, are not supported. Native EPOC
documents may also be attached and viewed. Other converters/viewers could be implemented to
view other document types.
Fax supports rich text and embedded documents, with content rendered using glass doors.
A system of polymorphic DLLs of several types, known as message transfer modules (MTMs) is
used to allow replaceable GUIs (other than EIKON), new message types (e.g. Usenet news), and
new low-level protocols (eg IMAP4). New MTMs may be installed at any time to augment the
Email application as delivered on an EPOC R5 machine.
Email uses TCP/IP and other protocols provided by the sockets server ESOCK, and integrates
directly with the telephony server ETEL to pick up incoming SMSs, and to send and receive faxes.
Email integrates with dial-up networking and maintains a connection status display.
Web
An underlying web technology library (WebTL), supplied by STNC Enterprises Ltd, provides
low-level network access. WEBENG provides higher-level rendering, and WEBUI provides an
EIKON-specific GUI.
WebTL’s cache uses shared memory and lightweight mutexes for high performance. Together
with the font and bitmap server, it is the only server in EPOC R5 to use shared memory.
Several types of “plug-in interface” provide for expansion of the web browser: protocol plug-ins at
the WebTL level, engine plug-ins providing dynamic content (this is how Java applets are
integrated with the browser), and UI plug-ins to control engine plug-in settings.
The converter architecture CONARC and EMIME may be used to associate a viewer with web
content. Web provides MIME-type recognizers, which may be used to open files in the browser
from the system shell.
Like Email, Web uses TCP/IP, dial-up networking and ETEL for its low-level communications,
and displays connection status continually.
Comms
Comms is divided into a COMMODEL engine, and COMMS application. These use the C32
communications server and the EIKON console to deliver old-style comms app functionality.