Symbian3/PDK/Source/GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02.dita
changeset 12 80ef3a206772
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-209F19E9-B61B-5758-B742-CA02B8BD5B02.dita	Fri Jul 16 17:23:46 2010 +0100
@@ -0,0 +1,147 @@
+<?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-209F19E9-B61B-5758-B742-CA02B8BD5B02" xml:lang="en"><title>SCR Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The Software Component Registry (SCR) is a unified registry of
+native and non-native software components. The SCR provides a common <xref href="GUID-1578590A-FC00-5C3B-8BF9-F6E43CA9D9A0.dita">AppArc</xref> support
+for handling native and non-native applications.</p>
+<section id="GUID-CCB48ED2-AAAB-446A-A4EA-C693D0A8E803"><title>Purpose</title> <p>The SCR lists the software installed on a device. The installed
+software can be native Symbian applications or non-native applications
+such as Java or Python. The registry contains information about applications,
+application related property and value pairs, and inter-dependencies
+between applications and components. </p> </section>
+<section id="GUID-A5FA08CE-50CA-4895-BA1E-1D07BA3E8FC9"><title>Key
+concepts</title> <p> <b>Component</b>: is a cohesive set of files
+and settings that provides a single unit for installation or uninstallation. </p><p> <b> Software type</b>: is a package format for delivering software,
+such as SIS, MIDP, JAR and Flash SWF.</p> <p> <b>Component and file
+properties</b>: are properties of a file or a component to be stored
+in the SCR. </p> <ul>
+<li id="GUID-AE34929D-8470-51EF-85AE-442EA5AD06EC"><p> <b>File properties</b>: include information such as the file size. </p> </li>
+<li id="GUID-28FEDAE5-4C11-57C7-8BD9-8807F2C96EA4"><p> <b>Component
+properties</b>: include information such as component name, vendor
+name and software type. </p> </li>
+</ul> <p> <b>Global component ID</b>: is the unique ID of a component.
+This UID is consistent across all devices. For example, the global
+component ID for native applications is the package UID. It is used
+to state dependencies and to check for installed components. </p> <p> <b>Locale</b>: is represented by a language code. </p> </section>
+<section id="GUID-8EB5A6AB-A217-42A8-BA47-A7C4127CE070"><title>Architectural
+relationships</title> <p>SCR is a component in the Installation Services
+collection. It collates all software book-keeping into a cohesive
+unit that is used by the SWI, SIF, SIF installers, applications and
+device managers and AppArc.</p><p>The following architectural diagram
+shows the high-level interaction between SCR and other components.</p><fig id="GUID-7DD31680-C31B-4547-89B2-D5E283E4A8E5">
+<title>SCR interaction diagram</title>
+<image href="GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE_d0e42963_href.jpg" placement="inline"/>
+</fig> <p>SCR is implemented as a server. Clients use SCR through
+the client-side resource class <xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita"><apiname>RSoftwareComponentRegistry</apiname></xref>.</p> <p> <b>Note</b>: Device creators must ensure that a default
+database exists in the ROM when the SCR server is started for the
+first time. The Symbian platform provides a PC-based tool, <codeph><xref href="GUID-C02ED3F5-EE81-4A84-B466-394F577ED34A.dita">SCRTool</xref></codeph>, to create a default database. </p> </section>
+<section id="GUID-684828A1-4572-452E-BC5E-ED9E15FFDF28"><title>APIs</title> <p>The SCR interface is designed to be used by software installation,
+application management and device management applications. The following
+are the key classes: </p><table id="GUID-04427367-A5DB-4559-8CE4-6796266BB4D7">
+<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
+<tbody>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita"><apiname>RSoftwareComponentRegistry</apiname></xref></p></entry>
+<entry><p>Provides interfaces to install, uninstall, and update software
+components. It is a client-side class used to perform the following:</p><ul>
+<li><p>Component management: Adds or removes components.</p></li>
+<li><p>Transaction management: Commits or rolls back a set of SQL
+operations together.</p></li>
+<li><p>Read-only queries: Retrieves component properties, file properties
+and application information.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E3020365-2A15-3259-A8FF-78A2B22846AF.dita"><apiname>RSoftwareComponentRegistryView</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and sends a request
+to create a component view using a supplied filter. </p><p>A filter
+can be set by specifying the component information such as ID, name,
+size, removable, locale, version, vendor, string property, integer
+property, software type, SCOMO state or installed drives. </p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-FD2ED994-27E4-35A3-BC69-A5AC7CE55B6A.dita"><apiname>RSoftwareComponentRegistryFilesList</apiname></xref></p></entry>
+<entry><p>Provides APIs to get the list of the files registered in
+the SCR for a specific component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-B14FD164-2AC4-343A-838F-8E3207BA8789.dita"><apiname>RApplicationRegistryView</apiname></xref></p></entry>
+<entry><p> Opens a sub-session to the SCR server and sends a request
+to create a complete Application Registration view. This class can
+only be used by AppArc.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B.dita"><apiname>RApplicationInfoView</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and sends a request
+to create an AppInfo view by using filters on the server side. It
+returns information based on the filters supplied. The information
+includes the full pathname, caption, short caption information and
+UID of the application.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E2FE3384-110B-3E81-8082-604371EE9D62.dita"><apiname>RRegistrationInfoForApplication</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server with a particular
+application UID and fetches the details such as Service UID for the
+application only.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita"><apiname>RApplicationRegistrationInfo</apiname></xref></p></entry>
+<entry><p>Opens a sub-session to the SCR server and is used to retrieve
+application information such as the application UID.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-7FE0C521-2BFD-3B4A-A46E-B6C8E2ABB0B2"><apiname>RSoftwareComponentRegistry::AddComponentL()</apiname></xref></p></entry>
+<entry><p>Adds a new software component entry to the SCR database.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-570B8BF2-F451-37BE-9F71-634D2AE6E78B"><apiname>RSoftwareComponentRegistry::SetComponentPropertyL()</apiname></xref></p></entry>
+<entry><p>Is an overloaded API to add an integer, string or blob property
+to the registry for a given software component and locale. If the
+property already exists, the value is updated.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-44071C4B-B57A-326A-B912-5C4451FC49D7"><apiname>RSoftwareComponentRegistry::RegisterComponentFileL()</apiname></xref></p></entry>
+<entry><p>Registers a file to a given software component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-7E68DF02-C134-3F33-B01C-C82EADFFEFCB"><apiname>RSoftwareComponentRegistry::DeleteComponentPropertyL()</apiname></xref></p></entry>
+<entry><p>Deletes a specific file property entry for a given file
+and software component.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-CF509A92-A9A5-34AF-914C-5F33323059EB"><apiname>RSoftwareComponentRegistry::AddApplicationEntryL()</apiname></xref></p></entry>
+<entry><p>Adds a new application entry to the SCR database.</p></entry>
+</row>
+<row>
+<entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita#GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6/GUID-58D084A5-2755-32E5-A689-A67E632AB6AC"><apiname>RSoftwareComponentRegistry::DeleteApplicationEntriesL()</apiname></xref></p></entry>
+<entry> <p>Deletes the information of all applications associated
+with an existing component entry from the SCR database.</p></entry>
+</row>
+<row>
+<entry/>
+<entry/>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-8389A300-3AC9-42C7-8533-5E1BABC8CC69"><title>Typical
+uses</title> <p>SCR APIs are typically used to manage software installation.</p><p>SWI parses the registration resource files and updates the SCR
+with the application registration information and package information. </p><p>Non-native installers update the package information directly
+to SCR.</p><p>AppArc queries SCR to retrieve the list of applications
+to create an application list.</p><p>SIF uses SCR to retrieve the
+package information.</p><p>Application managers use SCR to retrieve
+the application registration information.</p> </section>
+</conbody></concept>
\ No newline at end of file