|
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-209F19E9-B61B-5758-B742-CA02B8BD5B02" xml:lang="en"><title>SCR Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>The Software Component Registry (SCR) is a unified registry of |
|
14 native and non-native software components. The SCR provides a common <xref href="GUID-1578590A-FC00-5C3B-8BF9-F6E43CA9D9A0.dita">AppArc</xref> support |
|
15 for handling native and non-native applications.</p> |
|
16 <section id="GUID-CCB48ED2-AAAB-446A-A4EA-C693D0A8E803"><title>Purpose</title> <p>The SCR lists the software installed on a device. The installed |
|
17 software can be native Symbian applications or non-native applications |
|
18 such as Java or Python. The registry contains information about applications, |
|
19 application related property and value pairs, and inter-dependencies |
|
20 between applications and components. </p> </section> |
|
21 <section id="GUID-A5FA08CE-50CA-4895-BA1E-1D07BA3E8FC9"><title>Key |
|
22 concepts</title> <p> <b>Component</b>: is a cohesive set of files |
|
23 and settings that provides a single unit for installation or uninstallation. </p><p> <b> Software type</b>: is a package format for delivering software, |
|
24 such as SIS, MIDP, JAR and Flash SWF.</p> <p> <b>Component and file |
|
25 properties</b>: are properties of a file or a component to be stored |
|
26 in the SCR. </p> <ul> |
|
27 <li id="GUID-AE34929D-8470-51EF-85AE-442EA5AD06EC"><p> <b>File properties</b>: include information such as the file size. </p> </li> |
|
28 <li id="GUID-28FEDAE5-4C11-57C7-8BD9-8807F2C96EA4"><p> <b>Component |
|
29 properties</b>: include information such as component name, vendor |
|
30 name and software type. </p> </li> |
|
31 </ul> <p> <b>Global component ID</b>: is the unique ID of a component. |
|
32 This UID is consistent across all devices. For example, the global |
|
33 component ID for native applications is the package UID. It is used |
|
34 to state dependencies and to check for installed components. </p> <p> <b>Locale</b>: is represented by a language code. </p> </section> |
|
35 <section id="GUID-8EB5A6AB-A217-42A8-BA47-A7C4127CE070"><title>Architectural |
|
36 relationships</title> <p>SCR is a component in the Installation Services |
|
37 collection. It collates all software book-keeping into a cohesive |
|
38 unit that is used by the SWI, SIF, SIF installers, applications and |
|
39 device managers and AppArc.</p><p>The following architectural diagram |
|
40 shows the high-level interaction between SCR and other components.</p><fig id="GUID-7DD31680-C31B-4547-89B2-D5E283E4A8E5"> |
|
41 <title>SCR interaction diagram</title> |
|
42 <image href="GUID-6B9F014D-4445-4259-8ED2-1BA70B5800FE_d0e42963_href.jpg" placement="inline"/> |
|
43 </fig> <p>SCR is implemented as a server. Clients use SCR through |
|
44 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 |
|
45 database exists in the ROM when the SCR server is started for the |
|
46 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> |
|
47 <section id="GUID-684828A1-4572-452E-BC5E-ED9E15FFDF28"><title>APIs</title> <p>The SCR interface is designed to be used by software installation, |
|
48 application management and device management applications. The following |
|
49 are the key classes: </p><table id="GUID-04427367-A5DB-4559-8CE4-6796266BB4D7"> |
|
50 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
51 <tbody> |
|
52 <row> |
|
53 <entry>API</entry> |
|
54 <entry>Description</entry> |
|
55 </row> |
|
56 <row> |
|
57 <entry><p><xref href="GUID-E351FE30-23EC-37BD-BD89-E76411A03DB6.dita"><apiname>RSoftwareComponentRegistry</apiname></xref></p></entry> |
|
58 <entry><p>Provides interfaces to install, uninstall, and update software |
|
59 components. It is a client-side class used to perform the following:</p><ul> |
|
60 <li><p>Component management: Adds or removes components.</p></li> |
|
61 <li><p>Transaction management: Commits or rolls back a set of SQL |
|
62 operations together.</p></li> |
|
63 <li><p>Read-only queries: Retrieves component properties, file properties |
|
64 and application information.</p></li> |
|
65 </ul></entry> |
|
66 </row> |
|
67 <row> |
|
68 <entry><p><xref href="GUID-E3020365-2A15-3259-A8FF-78A2B22846AF.dita"><apiname>RSoftwareComponentRegistryView</apiname></xref></p></entry> |
|
69 <entry><p>Opens a sub-session to the SCR server and sends a request |
|
70 to create a component view using a supplied filter. </p><p>A filter |
|
71 can be set by specifying the component information such as ID, name, |
|
72 size, removable, locale, version, vendor, string property, integer |
|
73 property, software type, SCOMO state or installed drives. </p></entry> |
|
74 </row> |
|
75 <row> |
|
76 <entry><p><xref href="GUID-FD2ED994-27E4-35A3-BC69-A5AC7CE55B6A.dita"><apiname>RSoftwareComponentRegistryFilesList</apiname></xref></p></entry> |
|
77 <entry><p>Provides APIs to get the list of the files registered in |
|
78 the SCR for a specific component.</p></entry> |
|
79 </row> |
|
80 <row> |
|
81 <entry><p><xref href="GUID-B14FD164-2AC4-343A-838F-8E3207BA8789.dita"><apiname>RApplicationRegistryView</apiname></xref></p></entry> |
|
82 <entry><p> Opens a sub-session to the SCR server and sends a request |
|
83 to create a complete Application Registration view. This class can |
|
84 only be used by AppArc.</p></entry> |
|
85 </row> |
|
86 <row> |
|
87 <entry><p><xref href="GUID-5DD9E56F-CDBC-3BBC-B949-8FE10F29152B.dita"><apiname>RApplicationInfoView</apiname></xref></p></entry> |
|
88 <entry><p>Opens a sub-session to the SCR server and sends a request |
|
89 to create an AppInfo view by using filters on the server side. It |
|
90 returns information based on the filters supplied. The information |
|
91 includes the full pathname, caption, short caption information and |
|
92 UID of the application.</p></entry> |
|
93 </row> |
|
94 <row> |
|
95 <entry><p><xref href="GUID-E2FE3384-110B-3E81-8082-604371EE9D62.dita"><apiname>RRegistrationInfoForApplication</apiname></xref></p></entry> |
|
96 <entry><p>Opens a sub-session to the SCR server with a particular |
|
97 application UID and fetches the details such as Service UID for the |
|
98 application only.</p></entry> |
|
99 </row> |
|
100 <row> |
|
101 <entry><p><xref href="GUID-8C085940-AE69-3CE3-993A-675C2DB2D0CD.dita"><apiname>RApplicationRegistrationInfo</apiname></xref></p></entry> |
|
102 <entry><p>Opens a sub-session to the SCR server and is used to retrieve |
|
103 application information such as the application UID.</p></entry> |
|
104 </row> |
|
105 <row> |
|
106 <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> |
|
107 <entry><p>Adds a new software component entry to the SCR database.</p></entry> |
|
108 </row> |
|
109 <row> |
|
110 <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> |
|
111 <entry><p>Is an overloaded API to add an integer, string or blob property |
|
112 to the registry for a given software component and locale. If the |
|
113 property already exists, the value is updated.</p></entry> |
|
114 </row> |
|
115 <row> |
|
116 <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> |
|
117 <entry><p>Registers a file to a given software component.</p></entry> |
|
118 </row> |
|
119 <row> |
|
120 <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> |
|
121 <entry><p>Deletes a specific file property entry for a given file |
|
122 and software component.</p></entry> |
|
123 </row> |
|
124 <row> |
|
125 <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> |
|
126 <entry><p>Adds a new application entry to the SCR database.</p></entry> |
|
127 </row> |
|
128 <row> |
|
129 <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> |
|
130 <entry> <p>Deletes the information of all applications associated |
|
131 with an existing component entry from the SCR database.</p></entry> |
|
132 </row> |
|
133 <row> |
|
134 <entry/> |
|
135 <entry/> |
|
136 </row> |
|
137 </tbody> |
|
138 </tgroup> |
|
139 </table> </section> |
|
140 <section id="GUID-8389A300-3AC9-42C7-8533-5E1BABC8CC69"><title>Typical |
|
141 uses</title> <p>SCR APIs are typically used to manage software installation.</p><p>SWI parses the registration resource files and updates the SCR |
|
142 with the application registration information and package information. </p><p>Non-native installers update the package information directly |
|
143 to SCR.</p><p>AppArc queries SCR to retrieve the list of applications |
|
144 to create an application list.</p><p>SIF uses SCR to retrieve the |
|
145 package information.</p><p>Application managers use SCR to retrieve |
|
146 the application registration information.</p> </section> |
|
147 </conbody></concept> |