Introduction to EPOC Connect
by Richard Bloor
EPOC Connect Fundamentals
Architecture
The architecture of EPOC Connect is illustrated below:
EPOC Connect Architecture
The left hand branch shows the path taken from EPOC data through to PC application for Conversion or Synchronisation. The application COM
interfaces can also be accessed by COM-compliant development languages (as we shall see in the code example). The COM interfaces provided are for:
sheet
word
data (to access both the address book or data files)
agenda (diary)
message (e-mail)
The right hand branch shows the architecture used to obtain direct access to the EPOC file system and machine information. Here we have access to
the Backup, Restore and Connect OCX engines. In addition, this route is used to create custom servers.
This architecture allows OEMs to develop brand specific interfaces, while the published APIs at the EPOC to Win32 layer enables implementation for different operating systems if required.
We will now take a close look at these services
Remote Access
This service allows for connection between a PC and an EPOC machine, it is then possible to:
obtain detail about the connected EPOC machine, including battery information, memory information, language and owner details
obtain information on drives, folders and files as well a manipulating files including copying, moving, deleting, renaming and changing attributes
start and stop programs on the EPOC machine and
synchronise the EPOC machines time with that on the PC.
These facilities are provided through both synchronous and asynchronous interfaces. In asynchronous mode commands can be queued and are processed on a FIFO basis.
Backup and Restore
Backup and Restore services allow for files on an EPOC machine to be backed up on to a PC and, when required, restored back to an EPOC machine. In addition to simply backing up files it is possible to retain several generations of files which have been deleted or changed, in archive folders.
Options with backup allow for full and incremental backup across specified drives, folders, filtered files or date ranges.
Synchronisation
Synchronisation provides a mechanism to synchronise details on an EPOC Machine with a PC based Personal Information Manager. Details from the EPOC contacts (address book), calendar (diary) and e-mail applications can be synchronised.
Address and Diary information is synchronised using the vCalendar (1.0) and vCard (2.1) standards (originally developed by the Versit Consortium and now maintained by the Internet Mail Consortium (IMC)) while e-mail uses vMail. vMail is not a IMC standard but has been built around the same principals of stream and property formatting.
Custom synchronisation involves creating a User and PIM application interface and plugging them into the architecture illustrated below:
EPOC Synchroniser Architecture
When synchronisation is performed details of the two applications are recalled from the Control file and the DLLs for accessing each application instantiated and initialised. The application interfaces then provide pairs of vCard, vCalander or vMail data which are passed to the synchronisation engine. The engine determines the updated data, which may be only a single field, and passes this back to be written. As the process can be relatively time consuming the architecture includes a mechanism to report progress which can be presented to the user.
Conversion
Conversion provides the ability to convert data from EPOC to PC file formats or visa versa.
COM interfaces allow the conversion process to be controlled programmatically.
More significantly it is possible to create additional converters which are written as EPOC WINC DLLs. The SDK contains a template which can be used to develop new converters. Once developed the converter is then installed into the Conversion framework illustrated below.
EPOC Converter Framework
The DLL is physically installed into the EPOC Connect folder and logically installed into the Converter framework. If the converter is installed into the standard control file it's installation is not retained across an upgrade but it is available during drag and drop operations in Window Explorer. If the converter is installed in it's own control file it is preserved across an upgrade but is not available to drag and drop operations.
Custom Servers
In addition to the access which is routed though the conversion or synchronisation using the COM interfaces it is possible to create custom servers which directly access EPOC functionality and therefore the underlying data.
Development of these servers requires a knowledge of the EPOC operating system as well as socket based communications.
Next: EPOC Connect In Action
|