11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
12 <concept id="GUID-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample: |
12 <concept id="GUID-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample: |
13 dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs for dynamic |
13 dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs for dynamic |
14 feature management. It also demonstrates how to receive notification about |
14 feature management. It also demonstrates how to receive notification about |
15 changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
15 changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
16 <section><title>Download</title> <p>Click on the following link to download |
16 <section id="GUID-716F1987-F1F1-4E20-8390-BBD9AE592C2A"><title>Download</title> <p>Click on the following link to download |
17 the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.zip" scope="external">FeatMngrExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.html" scope="peer">browse</xref> to view the example code.</p> </section> |
17 the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.zip" scope="external">FeatMngrExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-3bc38b8f-c8bf-4af9-969b-a0bc4dd4dcad.html" scope="peer">browse</xref> to view the example code.</p> </section> |
18 <section><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-0CA63AEB-9A80-51C6-AE7F-E747D6B3B789.dita">Feature Manager</xref> API. |
18 <section id="GUID-CA323EF2-3A8A-4363-AC6E-A21B3C2648D7"><title>Purpose</title> <p>The example shows how to use the <xref href="GUID-0CA63AEB-9A80-51C6-AE7F-E747D6B3B789.dita">Feature Manager</xref> API. |
19 UI vendors and device manufacturers can use this API to declare features (such |
19 UI vendors and device manufacturers can use this API to declare features (such |
20 as DRM agents, codecs, vibra) as available or not. The feature set can be |
20 as DRM agents, codecs, vibra) as available or not. The feature set can be |
21 adjusted dynamically as software services are installed and uninstalled or |
21 adjusted dynamically as software services are installed and uninstalled or |
22 as platform capabilities are discovered dynamically. </p> <p>This example |
22 as platform capabilities are discovered dynamically. </p> <p>This example |
23 shows how Feature Manager APIs allow applications and system software to establish |
23 shows how Feature Manager APIs allow applications and system software to establish |
24 which features are present on or absent from a Symbian OS device. </p> </section> |
24 which features are present on or absent from a Symbian device. </p> </section> |
25 <section><title>Design and implementation</title> <p>The example consists |
25 <section id="GUID-1C59222F-2F39-4599-8052-AE7C83854AC8"><title>Design and implementation</title> <p>The example consists |
26 of two processes: </p> <ul> |
26 of two processes: </p> <ul> |
27 <li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>: |
27 <li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>: |
28 this is the main process which provides the list of available features. It |
28 this is the main process which provides the list of available features. It |
29 also provides the option to add new features or delete/update a feature. </p> </li> |
29 also provides the option to add new features or delete/update a feature. </p> </li> |
30 <li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>: |
30 <li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>: |
46 It implements <codeph>HandleNotifyChange()</codeph> to handle the changes |
46 It implements <codeph>HandleNotifyChange()</codeph> to handle the changes |
47 made by FeatMngrExample. The type of change is displayed to the user as an |
47 made by FeatMngrExample. The type of change is displayed to the user as an |
48 infoprint message (<xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-EEF84AA0-A277-390D-BFAB-CF50C94DF18D"><apiname>User::InfoPrint()</apiname></xref>). <codeph>HandleNotifyChange()</codeph> is |
48 infoprint message (<xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-EEF84AA0-A277-390D-BFAB-CF50C94DF18D"><apiname>User::InfoPrint()</apiname></xref>). <codeph>HandleNotifyChange()</codeph> is |
49 called to handle changes for those features which are subscribed to for notification |
49 called to handle changes for those features which are subscribed to for notification |
50 (in the <codeph>NotifyFeatureL</codeph> () method). </p> </section> |
50 (in the <codeph>NotifyFeatureL</codeph> () method). </p> </section> |
51 <section><title>Building and configuring</title> <p>To build the example: </p> <ul> |
51 <section id="GUID-7A7C9409-D701-4C64-B0B2-AE0F89C396FA"><title>Building and configuring</title> <p>To build the example: </p> <ul> |
52 <li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example builds two |
52 <li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example builds two |
53 executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in |
53 executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in |
54 the standard locations. The second executable is run by the first. </p> </li> |
54 the standard locations. The second executable is run by the first. </p> </li> |
55 <li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build the example |
55 <li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build the example |
56 from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file |
56 from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file |
59 to the source code directory of the example. You can then build the example |
59 to the source code directory of the example. You can then build the example |
60 with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake |
60 with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake |
61 bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe |
61 bldfiles</userinput> </p> <p><userinput>abld build</userinput> </p> <p><xref href="GUID-793A5EF9-CC16-5EEB-9011-6431EA76EB15.dita">How to use bldmake</xref> and <xref href="GUID-B6B54E07-3B34-5D5C-8815-93383FA8FB4B.dita">How to use abld</xref> describe |
62 how to use the SBSv1 build tools. </p> </li> |
62 how to use the SBSv1 build tools. </p> </li> |
63 </ul> </section> |
63 </ul> </section> |
64 <section><title>Running the example</title> <p>When running the example, the |
64 <section id="GUID-8B18A01A-44D4-400E-9CEC-3E75F55D7F7F"><title>Running the example</title> <p>When running the example, the |
65 user is presented with various menu options that are self-explanatory. Press |
65 user is presented with various menu options that are self-explanatory. Press |
66 any other key to exit. </p> </section> |
66 any other key to exit. </p> </section> |
67 <section id="GUID-433F7103-5372-5971-85A6-0FBF88ECE5C1"><title>See also:</title><p><xref href="GUID-7495B1C8-38B5-5A09-8231-25B3BBC09F51.dita">Feature Management</xref></p></section> |
67 <section id="GUID-433F7103-5372-5971-85A6-0FBF88ECE5C1"><title>See also:</title><p><xref href="GUID-7495B1C8-38B5-5A09-8231-25B3BBC09F51.dita">Feature Management</xref></p></section> |
68 </conbody></concept> |
68 </conbody></concept> |