Symbian3/SDK/Source/GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept id="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22" xml:lang="en"><title>Capabilities</title><prolog><metadata><keywords/></metadata></prolog><conbody>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
<p>Capabilities allow the Symbian platform to control access by applications
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
to the functionalities provided by the platform APIs. Access to capabilities
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    15
is determined by the device configuration and how the application has been
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    16
signed. Capabilities can be divided into four categories:</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    17
<ul>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    18
<li><p><i>user capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/LocalServices" scope="external"><codeph>LocalServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/NetworkServices" scope="external"><codeph>NetworkServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadUserData" scope="external"><codeph>ReadUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteUserData" scope="external"><codeph>WriteUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/UserEnvironment" scope="external"><codeph>UserEnvironment</codeph></xref> and, <xref href="http://wiki.forum.nokia.com/index.php/Location" scope="external"><codeph>Location</codeph></xref></p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    19
</li>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    20
<li><p><i>system capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/PowerMgmt" scope="external"><codeph>PowerMgmt</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ProtServ" scope="external"><codeph>ProtServ</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadDeviceData" scope="external"><codeph>ReadDeviceData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SurroundingsDD" scope="external"><codeph>SurroundingsDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SwEvent" scope="external"><codeph>SwEvent</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/TrustedUI" scope="external"><codeph>TrustedUI</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteDeviceData" scope="external"><codeph>WriteDeviceData</codeph></xref></p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    21
</li>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    22
<li><p><i>restricted capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/CommDD" scope="external"><codeph>CommDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DiskAdmin" scope="external"><codeph>DiskAdmin</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/MultimediaDD" scope="external"><codeph>MultimediaDD</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/NetworkControl" scope="external"><codeph>NetworkControl</codeph></xref></p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    23
</li>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    24
<li><p><i>device manufacturer capabilitie</i>s: <xref href="http://wiki.forum.nokia.com/index.php/AllFiles" scope="external"><codeph>AllFiles</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DRM" scope="external"><codeph>DRM</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/Trusted_Computing_Base_%28TCB%29" scope="external"><codeph>TCB</codeph></xref></p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    25
</li>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    26
</ul>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    27
<p>Capabilities required by the application are defined in the <codeph>mmp</codeph> project
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    28
definition file during the build process, and cannot be changed during run
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    29
time. For information on the parameters you can use, see <xref href="GUID-96C007D1-9AA0-57DC-A6DC-8B6E5A2DF644.dita">capability</xref>.
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    30
Carbide.c++ has a Capability Scanner tool which can be accessed through the <b>Project
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    31
&gt; Run Capability Scanner on Project MMP</b> menu. The tool scans and checks
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    32
the project for required capabilities.</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    33
<p>During the installation the <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    34
Installer</xref> application in the device checks whether the application
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    35
has been certified or signed. It then checks the capabilities requested by
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    36
the application. If the application has been certified, it checks that the
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    37
root certificate is allowed to grant the required capabilities. If no problems
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    38
are encountered, the installation can continue. For information on certifications
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    39
required by the capabilities, see <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    40
signing</xref>.</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    41
<p>The user can grant the <i>user capabilities</i> to a self-signed application.
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    42
For example, the following dialog is shown to the user to grant the <codeph>LocalServices</codeph> capability:</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    43
<fig id="GUID-5FCD68FB-BB79-48E0-B438-E8BFAD37331D"><title>Granting LocalServices capability during the installation</title><image href="GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e11707_href.png"/></fig>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    44
<section id="GUID-DD22FF50-BE6F-4929-85BA-EAF3481EA2BD"><title>dll capabilities</title>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    45
<p>A <codeph>dll</codeph> must have equal or greater set of capabilities
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    46
than the loading process, otherwise the process is not allowed to load the <codeph>dll</codeph>.
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    47
Once loaded, a <codeph>dll</codeph> runs at the capability level of the loading
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    48
process. A <codeph>dll</codeph> that has a higher capability set than the
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    49
loading process cannot leak capabilities to the process, but a process can
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    50
leak capabilities to the <codeph>dll</codeph>.</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    51
<p>For more information, see <xref href="http://wiki.forum.nokia.com/index.php/TSS000454_-_DLL_capability_model_in_a_secure_platform" scope="external">DLL
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    52
capability model in a secure platform</xref> (TSS000454) in the Forum Nokia
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    53
Knowledge Base.</p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    54
</section>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    55
</conbody></concept>