Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-E18592CD-223D-5B50-AF40-1AC7267BAB8C" xml:lang="en"><title>Watcher
Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>This section provides an overview of the functionality and the architecture
of the Watcher Framework component. </p>
<section><title>Purpose</title> <p>The Watcher Framework is a lightweight
framework used to launch watchers. </p> <p>Watcher processes are launched
when a device starts and execute until the device is switched-off. They watch
for incoming messages and handle them as appropriate. For example an SMS Watcher
waits for incoming SMS messages and delivers them to the Message Store. </p> </section>
<section><title>Architecture</title> <p>The Watcher Framework consists of
an executable, <filepath>watcher.exe</filepath>, that is started when the
device boots. The start method depends on the UI family. The framework automatically
loads each watcher plug-in DLL in <filepath>z:\system\libs\watchers</filepath>. </p> <p> <b>Note:</b> The
Watcher Framework loads plug-ins only from ROM. </p> <p>Because the watchers
are started during system start-up it is important that they start quickly. </p> <p>After
the watcher framework has constructed all the watchers it starts an active
scheduler which remains active while the phone is switched on. </p> <p>The
watcher executable is has the capabilities necessary for write-access to the <b>Messaging
Outbox </b> folder. For instance, to update a delivery report, it may require
an entry in the Outbox to be updated. </p> <fig id="GUID-B1A76302-6F78-50A1-B5CF-B7FB670A4477">
<title> Watcher Framework architecture </title>
<image href="GUID-C4945844-643F-5479-AA2C-61C35817555A_d0e499797_href.jpg" placement="inline"/>
</fig> <p>A watcher plug-in typically make requests to another subsystem such
that they are completed when an external event (an SMS) being received occurs.
When a watcher has completed processing the request it waits for the next
event. </p> </section>
<section><title>API summary</title> <p>The <xref href="GUID-2C666512-BA5C-31FC-A226-9C5449A73711.dita"><apiname>CWatcherLog</apiname></xref> class
logs the watcher operations. </p> </section>
<section><title>Limitation</title> <p>Support for starting and stopping watchers
dynamically is not provided. This limitation makes watchers unsuitable for
operations such as listening for messages transported through infrared (IR)
because the IR port is not normally active. </p> </section>
</conbody><related-links>
<link href="GUID-96C1C892-890E-5FA1-AEE2-DB6BA2AD0A1D.dita"><linktext>WAP
Stack</linktext></link>
</related-links></concept>