47
EPOC Messaging Architecture
8.4.5.2 MTM registries
Since MTMs are not system-wide components requiring user intervention, the comms database is
not used to store details of those available at any time. Instead, the messaging system maintains
four
registries
, which correspond to the four base MTM types. The registries don’t simply maintain
lists of available MTMs and message types, but also include the necessary functions for loading
DLLs and then unloading them when they are no longer needed. In fact, the registries have all
been equipped with timers, which are used to unload DLLs, a given period after they have become
unused. This avoids repeated loading and unloading when the user is switching between messages
in the inbox.
8.4.5.3 Message storage
Most message data is stored in EPOC filestores, each with a number of separate streams to allow
for the separation of generic and message-type-specific data. For instance, a generic stream in the
filestore is always used to hold the message body as EPOC rich text. This allows generic
application modules, such as the Messaging Application itself, to access body data without
knowledge of the message type.
Message-type dependent data (such as a recipient list) is stored in a type specific stream in the
filestore. Protocol-dependent data, such as ISP settings and addressee data, is stored in a separate
filestore associated with the relevant service, and which only MTMs of the appropriate type can
access.