Symbian3/PDK/Source/GUID-26DBE128-6244-557E-989D-A4A608F43A0F.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?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-26DBE128-6244-557E-989D-A4A608F43A0F" xml:lang="en"><title>System
State Manager Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The System State Manager (SSM) component controls transitioning of the
device to different system states, and reacts to changes made to the System-wide
Properties. </p>
<section><title>Required background</title> <p>You must have an understanding
on Generic Start-up Architecture before using System State Manager. </p> </section>
<section><title>Key concepts</title> <dl>
<dlentry>
<dt>Generic Start-up Architecture (GSA)</dt>
<dd><p>This architecture allows easy customization of the device’s (mobile)
start-up to provide improved device performance. The main components within
the Generic Start-up Architecture are Base Starter (EStart) and AMA Starter. </p> </dd>
</dlentry>
<dlentry>
<dt> SSM</dt>
<dd><p>This is a component of SSMA that controls transitioning of the device
(mobile) to different system states, and reacts to changes of the system-wide
properties. </p> </dd>
</dlentry>
<dlentry>
<dt>System state </dt>
<dd><p>This indicates the state of the device (mobile). It is controlled by
a state machine that is SSM. These states are defined by system state policies
within a SSM plug-in and system state changes are triggered by system-wide
property changes or external requests. </p> </dd>
</dlentry>
<dlentry>
<dt> System-wide Property</dt>
<dd><p>This allows components to be aware of the system-state. They are defined
by system-wide property policies within a SSM plug-in that can be customised
by licensees. Custom commands are plug-in dlls implementing the <codeph>MSsmCustomCommand</codeph> interface
in SSM. Using custom command licensees can develop alternative devices for
performing the functionality implemented in a command. </p> </dd>
</dlentry>
<dlentry>
<dt> Custom Command</dt>
<dd><p>Custom commands are plug-in dlls implementing the <codeph>MSsmCustomCommand</codeph> interface
in SSM. Using custom command licensees can develop alternative devices for
performing the functionality implemented in a command. </p> </dd>
</dlentry>
</dl> </section>
<section><title>API summary</title> <table id="GUID-57F2026E-7F39-5B93-8E87-51CCB4DAF0A7">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>API names </entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <xref href="GUID-8CE82869-EA9E-327C-B817-ACF497CCDC9D.dita"><apiname>RSsmStateManager</apiname></xref>  </p> </entry>
<entry><p>A System State Management control class, which can be used to request
for a change in the system state or the system-wide property. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-89C25B0F-DB76-30D5-A4D6-0C12922194E4.dita"><apiname>RSsmStateAwareSession</apiname></xref>  </p> </entry>
<entry><p>A system-state aware component, which can be used to provide APIs
for components that want to be system state aware. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-FE828A1B-B117-39AD-B20D-FF2CC8A4EEE4.dita"><apiname>RSsmSystemWideProperty</apiname></xref>  </p> </entry>
<entry><p>A system-wide property class, which can also be used to provide
an API for components that want to be notified of changes to a particular
system-wide property. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section><title>Typical uses</title> <p><b>Creating a custom command</b> </p> <p>Custom
commands are plug-in dlls implementing the <xref href="GUID-DEDD8780-C422-3239-ACDC-A66D209992E6.dita"><apiname>MSsmCustomCommand</apiname></xref> interface
in SSM. Using custom command licensees can develop alternative devices for
performing the functionality implemented in a command. </p> <p>For more information
about creating and running a custom command, see <xref href="GUID-EFBBB53F-8402-5010-8B8D-96D0FC46F784.dita">Creating
a Custom Command</xref> and <xref href="GUID-63F2124B-9B41-58D8-9439-CE4D8C3503D8.dita">Running
a custom command</xref>. </p> <p><b>Making components to be system state aware</b> </p> <p>A
system state aware component is notified of the changes taking place within
SSMA through, <xref href="GUID-89C25B0F-DB76-30D5-A4D6-0C12922194E4.dita"><apiname>RSsmStateAwareSession</apiname></xref>. A user must make a
component to be state aware because SSM must perform certain defined actions
based on the state changes. For more information about making a component
to be aware of its state, see <xref href="GUID-FEA8BB25-3F1F-5F2E-92E3-E5CF360BDD4B.dita">Making
a State Aware Component</xref>. </p> <p><b>Monitoring a system-wide property</b> </p> <p>System-wide
properties allow components to be aware about the state of the device. If
there is any change in the system-wide property value, SSM sends the notification
messages to the requested components. For more information about monitoring
a system-wide property, see <xref href="GUID-F892D93D-0B59-592A-9DA5-AD4243F607E3.dita">Monitoring
a System-Wide Property</xref>. </p> <p><b>Creating a Static CommandList</b> </p> <p>Static
commandList (SCL) provides information about the commands that must be run
at startup. For more information about creating a SCL, see <xref href="GUID-E9FAE433-BDBE-5ABD-B168-6562D29112B1.dita">Creating
a Static commandList</xref>. </p> <p><b>Running a conditional command in a
CommandList</b> </p> <p>When loading a commandList, the resource file reader
makes a decision based upon the value of the <codeph>conditional_information</codeph>.
By default, its value is zero and the commands are unconditional. For more
information about running a conditional command in a commandList, see <xref href="GUID-C01412C2-ED4E-501C-8E79-F0293936845A.dita">Running a Command Conditionally
in a commandList</xref>. </p> </section>
</conbody></concept>