|
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-B71AC5E3-8AA8-55AD-916F-9E873926011B" xml:lang="en"><title>Feature |
|
13 Manager Collection Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>The Feature Manager collection is a set of classes used to manipulate feature |
|
15 flags. </p> |
|
16 <section id="GUID-E1E8BB89-C634-51D3-BBA1-A98BCCA3BD44"><title>Purpose</title> <p>A |
|
17 feature is any piece of functionality which can be included in a phone at |
|
18 ROM build time or excluded from it. An excluded feature is often written to |
|
19 ROM at build time but excluded from the build by disabling it. </p> </section> |
|
20 <section id="GUID-E914F975-B33E-55D0-9F7A-8CA65C321296"><title>Architecture</title> <p>The |
|
21 feature management system uses the standard client server architecture. The |
|
22 relationship between the components is : </p> <fig id="GUID-CA8AE056-6988-5611-BFE0-9999C0F02FF7"> |
|
23 <title> Architecture of the feature management system |
|
24 </title> |
|
25 <image href="GUID-CE79D1B9-2770-5494-A741-D98DE3EBFA05_d0e560435_href.png" placement="inline"/> |
|
26 </fig><p> Feature Manager Client is not supplied with all versions of Symbian |
|
27 Platform. Feature Discovery, which is always supplied, provides a subset of |
|
28 the functionality of Feature Manager Client and offers superior performance |
|
29 under certain circumstances. </p><p> The data which the Feature Manager manages |
|
30 is stored as a collection of XML files in the feature database. These files |
|
31 define a set of feature flags which can be accessed using the Feature Manager |
|
32 API. The file <filepath>featureuid.xml</filepath> is the master record of |
|
33 all features in the database. You do not manipulate the feature database directly. |
|
34 </p><p> The feature manager database is also accessed by the tool <filepath>feat2hdr.pl</filepath> which |
|
35 is used at ROM build time to convert the data relating to each feature into |
|
36 .iby and .h files used by the source code of the components which the features |
|
37 refer to. </p> </section> |
|
38 <section id="GUID-A9D9B55D-8B3F-54E3-A272-0EF74757846F"><title>Description</title> <p> </p> <p>The |
|
39 Feature Manager provides the functionality to </p> <ul> |
|
40 <li id="GUID-946849BE-FD32-5C15-A14D-652962D7B907"><p>query features and report |
|
41 on them, </p> </li> |
|
42 <li id="GUID-97184F11-834D-510B-A9C5-685E87ADC256"><p>modify the status of |
|
43 features, and </p> </li> |
|
44 <li id="GUID-A7A9F8C0-21A1-5017-9DEA-334DA2345692"><p>set up notification |
|
45 of changes to features. </p> </li> |
|
46 </ul> </section> |
|
47 <section id="GUID-B0C40DD9-CE3F-5855-AD6C-C56140CB27FF"><title>Components</title> <ul> |
|
48 <li id="GUID-854A0F17-CC56-5673-9BA4-49E2D36AEEA2"><p>Feature Manager Client |
|
49 provides the complete functionality required for feature management. </p> </li> |
|
50 <li id="GUID-FEF9EA74-AC3B-507E-BFCA-599CEEBA3C4D"><p>Feature Manager Server |
|
51 maintains the table containing the list of features available on the device. </p> </li> |
|
52 <li id="GUID-EB3A9157-0659-5288-8FB8-18379EB2EE62"><p>Feature Discovery provides |
|
53 the functionality to discover if a feature or feature set is available but |
|
54 not to enable, disable or modify features. </p> </li> |
|
55 </ul> <p>Feature flags were formerly managed using the Feature Registry component, |
|
56 which has now been deprecated. The old Feature Registry API calls continue |
|
57 to be supported, but the old implementation has been scrapped in favour of |
|
58 wrapper functions which call Feature Manager. </p> </section> |
|
59 <section><title>Using Feature Manager</title> <p>Feature flags, which are |
|
60 held in the feature database, track changes to the status of features. It |
|
61 is important to know that modifications through Feature Manager do not modify |
|
62 the features themselves, though feature flags may be used by other components |
|
63 which actually modify features. </p> <p>The Feature Manager provides the functionality |
|
64 to: </p> <ul> |
|
65 <li id="GUID-9D4F29E1-3E82-5527-8F49-C77346235CF2"><p>report the availability |
|
66 of feature flags, </p> </li> |
|
67 <li id="GUID-6A2B037D-46C6-595A-A9BF-3FBEBE4A063B"><p>enable and disable feature |
|
68 flags, </p> </li> |
|
69 <li id="GUID-262022F4-D777-5FD1-961E-6FDF22E77BC0"><p>modify the status of |
|
70 feature flags and the data associated with them, and </p> </li> |
|
71 <li id="GUID-893BC294-3503-5020-A507-0CBC455CB269"><p>set up notification |
|
72 of changes to the status of feature flags. </p> </li> |
|
73 </ul> <p>The <xref href="GUID-1A22E574-831B-5D00-98BD-0DFFA9CC09A0.dita">Feature |
|
74 Manager Tutorial</xref> provides detailed instructions on how to perform these |
|
75 tasks. </p> </section> |
|
76 </conbody><related-links> |
|
77 <link href="GUID-1568493D-0384-5FBD-816B-60A4817CEF0C.dita"><linktext>Feature Manager |
|
78 Guide</linktext></link> |
|
79 <link href="GUID-6F716E31-490E-5CA1-871A-D8D1661E3078.dita"><linktext>Feature Manager |
|
80 Installation Tutorial</linktext></link> |
|
81 <link href="GUID-D01C4682-619E-501E-8992-9F7FA35D7682.dita"><linktext>Feature Manager |
|
82 Modification Tutorials</linktext></link> |
|
83 <link href="GUID-1A22E574-831B-5D00-98BD-0DFFA9CC09A0.dita"><linktext>Feature Manager |
|
84 Querying Tutorials</linktext></link> |
|
85 <link href="GUID-910780A3-D6AB-5EE2-966A-5F228AC5804F.dita"><linktext>Feature Manager |
|
86 Notification Tutorials</linktext></link> |
|
87 <link href="GUID-F2489DE2-18E2-5C5B-A174-49B5B7A64A7C.dita"><linktext>Feature Manager |
|
88 Reporting Tutorials</linktext></link> |
|
89 </related-links></concept> |