|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-2B902EA0-F954-5474-9A79-7C1AB208A3D4" xml:lang="en"><title>STS Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <section id="GUID-39064646-3244-42E9-962C-D5F98F61BF95"><title>Purpose</title> <p>STS provides transactional support for the Symbian platform file |
|
14 system. It helps clients (such as Software Installation Framework |
|
15 plug-ins) to maintain file system integrity during installation, uninstallation |
|
16 and upgrading of software packages. If the file system operation is |
|
17 interrupted or fails for reasons such as battery drain or a server |
|
18 crash, the STS rolls back the uncommitted file system operations performed |
|
19 as part of the transaction. </p> </section> |
|
20 <section id="GUID-9B55BDF8-9CE6-4F34-BAC7-54C215A0CD93"><title>Key |
|
21 concepts</title> <p> <b>SIF Plug-in</b>: Installs and manages a particular type of software package such as native SIS files |
|
22 or Python.</p> <p> <b>Symbian client-server framework</b>: For details, |
|
23 see <xref href="GUID-6047DB3F-DC92-51DF-9EEB-00E79E890B54.dita">Using Client/Server</xref>. </p> </section> |
|
24 <section id="GUID-992C35A4-D792-41C6-8499-E9E152916537"><title>Architectural |
|
25 relationships</title> <p>STS follows client-server architecture. The |
|
26 STS (server) has TCB capability. A STS client ( implemented by device |
|
27 creators) uses STS instead of using the file server directly. STS |
|
28 provides APIs to start a file system transaction, record various file |
|
29 system operation as part of a transaction, and commit or roll back |
|
30 the transaction. The STS client instructs the STS to commit a transaction |
|
31 atomically once all the operations have been performed. </p><p>The |
|
32 STS client is implemented in <filepath>stsclient.dll</filepath> file. </p><p>An STS client application can access the services provided by |
|
33 the STS by linking against <filepath>stsclient.lib</filepath>. </p> <p>The figure below shows interaction between the STS, STS clients |
|
34 and the file system. </p><fig id="GUID-DC02F027-800F-4A54-864D-D746447C2EEE"> |
|
35 <title>STS Architecture</title> |
|
36 <image href="GUID-9B2E8332-380E-4C7C-80BE-A858A8EE62C2_d0e42446_href.jpg" placement="inline"/> |
|
37 </fig> </section> |
|
38 <section id="GUID-78CB2DC4-5D5B-4207-838B-9D378CBF7A67"><title>APIs</title> <table id="GUID-A86AFA4C-6AAD-5DAF-923E-7750370349B5"> |
|
39 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
40 <thead> |
|
41 <row> |
|
42 <entry>API</entry> |
|
43 <entry>Description</entry> |
|
44 </row> |
|
45 </thead> |
|
46 <tbody> |
|
47 <row> |
|
48 <entry><p> <xref href="GUID-8ACAC5C6-1EDD-3EEB-995B-53833BEACF25.dita"><apiname>RStsSession</apiname></xref> </p> </entry> |
|
49 <entry><p>Provides APIs for STS client applications to use the STS. </p> </entry> |
|
50 </row> |
|
51 </tbody> |
|
52 </tgroup> |
|
53 </table> </section> |
|
54 <section id="GUID-753B9DB3-5487-4B39-8515-E975218E3C0B"><title>Typical |
|
55 uses</title> <p>Software installers use the STS to provide a secure |
|
56 environment for updating the file system.</p> </section> |
|
57 </conbody></concept> |