Symbian3/PDK/Source/GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?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-2B902EA0-F954-5474-9A79-7C1AB208A3D4" xml:lang="en"><title>STS Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-39064646-3244-42E9-962C-D5F98F61BF95"><title>Purpose</title> <p>STS provides transactional support for the Symbian platform file
system. It helps clients (such as Software Installation Framework
plug-ins) to maintain file system integrity during installation, uninstallation
and upgrading of software packages. If the file system operation is
interrupted or fails for reasons such as battery drain or a server
crash, the STS rolls back the uncommitted file system operations performed
as part of the transaction. </p> </section>
<section id="GUID-9B55BDF8-9CE6-4F34-BAC7-54C215A0CD93"><title>Key
concepts</title> <p> <b>SIF Plug-in</b>: Installs and manages a particular type of software package such as native SIS files
or Python.</p> <p> <b>Symbian client-server framework</b>: For details,
see <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">Using Client/Server</xref>. </p> </section>
<section id="GUID-992C35A4-D792-41C6-8499-E9E152916537"><title>Architectural
relationships</title> <p>STS follows client-server architecture. The
STS (server) has TCB capability. A STS client ( implemented by device
creators) uses STS instead of using the file server directly. STS
provides APIs to start a file system transaction, record various file
system operation as part of a transaction, and commit or roll back
the transaction. The STS client instructs the STS to commit a transaction
atomically once all the operations have been performed.  </p><p>The
STS client is implemented in <filepath>stsclient.dll</filepath> file. </p><p>An STS client application can access the services provided by
the STS by linking against <filepath>stsclient.lib</filepath>. </p> <p>The figure below shows interaction between the STS, STS clients
and the file system. </p><fig id="GUID-DC02F027-800F-4A54-864D-D746447C2EEE">
<title>STS Architecture</title>
<image href="GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2_d0e42446_href.jpg" placement="inline"/>
</fig> </section>
<section id="GUID-78CB2DC4-5D5B-4207-838B-9D378CBF7A67"><title>APIs</title> <table id="GUID-A86AFA4C-6AAD-5DAF-923E-7750370349B5">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>API</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita"><apiname>RStsSession</apiname></xref>  </p> </entry>
<entry><p>Provides APIs for STS client applications to use the STS. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-753B9DB3-5487-4B39-8515-E975218E3C0B"><title>Typical
uses</title> <p>Software installers use the STS to provide a secure
environment for updating the file system.</p> </section>
</conbody></concept>