diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/PDK/Source/GUID-26DBE128-6244-557E-989D-A4A608F43A0F.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-26DBE128-6244-557E-989D-A4A608F43A0F.dita Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,108 @@ + + + + + +System +State Manager Overview +

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.

+
Required background

You must have an understanding +on Generic Start-up Architecture before using System State Manager.

+
Key concepts
+ +
Generic Start-up Architecture (GSA)
+

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.

+
+ +
SSM
+

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.

+
+ +
System state
+

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.

+
+ +
System-wide Property
+

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 MSsmCustomCommand interface +in SSM. Using custom command licensees can develop alternative devices for +performing the functionality implemented in a command.

+
+ +
Custom Command
+

Custom commands are plug-in dlls implementing the MSsmCustomCommand interface +in SSM. Using custom command licensees can develop alternative devices for +performing the functionality implemented in a command.

+
+
+
API summary + + + +API names +Description + + + + +

RSsmStateManager

+

A System State Management control class, which can be used to request +for a change in the system state or the system-wide property.

+
+ +

RSsmStateAwareSession

+

A system-state aware component, which can be used to provide APIs +for components that want to be system state aware.

+
+ +

RSsmSystemWideProperty

+

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.

+
+ + +
+
Typical uses

Creating a custom command

Custom +commands are plug-in dlls implementing the MSsmCustomCommand interface +in SSM. Using custom command licensees can develop alternative devices for +performing the functionality implemented in a command.

For more information +about creating and running a custom command, see Creating +a Custom Command and Running +a custom command.

Making components to be system state aware

A +system state aware component is notified of the changes taking place within +SSMA through, RSsmStateAwareSession. 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 Making +a State Aware Component.

Monitoring a system-wide property

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 Monitoring +a System-Wide Property.

Creating a Static CommandList

Static +commandList (SCL) provides information about the commands that must be run +at startup. For more information about creating a SCL, see Creating +a Static commandList.

Running a conditional command in a +CommandList

When loading a commandList, the resource file reader +makes a decision based upon the value of the conditional_information. +By default, its value is zero and the commands are unconditional. For more +information about running a conditional command in a commandList, see Running a Command Conditionally +in a commandList.

+
\ No newline at end of file