Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita
changeset 13 48780e181b38
parent 7 51a74ef9ed63
--- a/Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita	Fri Jul 16 17:23:46 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita	Tue Jul 20 12:00:49 2010 +0100
@@ -1,68 +1,68 @@
-<?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-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample:
-dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs for dynamic
-feature management. It also demonstrates how to receive notification about
-changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-716F1987-F1F1-4E20-8390-BBD9AE592C2A"><title>Download</title> <p>Click on the following link to download
-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>
-<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.
-UI vendors and device manufacturers can use this API to declare features (such
-as DRM agents, codecs, vibra) as available or not. The feature set can be
-adjusted dynamically as software services are installed and uninstalled or
-as platform capabilities are discovered dynamically. </p> <p>This example
-shows how Feature Manager APIs allow applications and system software to establish
-which features are present on or absent from a Symbian device. </p> </section>
-<section id="GUID-1C59222F-2F39-4599-8052-AE7C83854AC8"><title>Design and implementation</title> <p>The example consists
-of two processes: </p> <ul>
-<li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>:
-this is the main process which provides the list of available features. It
-also provides the option to add new features or delete/update a feature. </p> </li>
-<li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>:
-this process receives notification about new features installed or uninstalled
-by the main process. </p> </li>
-</ul> <p><b>FeatMngrExample</b> </p> <p>This shows the use of the <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref> API
-to manage features. </p> <p>It presents menu options to the user to list the
-available features, to add or delete a feature, update an existing feature,
-and to enable or disable a feature. It also starts another process, called
-featurechecker.exe which receives notifications of events happening in this
-process. The list of features includes some whose feature flags are non-modifiable.
-Any attempt to modify or delete those features will result in a system error
--21 (<codeph>KErrAccessDenied</codeph>). When adding a new feature, it should
-be in the range as described in the console because the featurechecker process
-subscribes to this range of features for change notification. </p> <p><b>FeatureChecker</b> </p> <p>This
-process is started by <filepath>featmngrexample.exe</filepath>. It implements
-the <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref> class to handle notification of feature
-changes. <codeph>FeatureChecker</codeph> also demonstrates the use of the <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref> class.
-It implements <codeph>HandleNotifyChange()</codeph> to handle the changes
-made by FeatMngrExample. The type of change is displayed to the user as an
-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
-called to handle changes for those features which are subscribed to for notification
-(in the <codeph>NotifyFeatureL</codeph> () method). </p> </section>
-<section id="GUID-7A7C9409-D701-4C64-B0B2-AE0F89C396FA"><title>Building and configuring</title> <p>To build the example: </p> <ul>
-<li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example builds two
-executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in
-the standard locations. The second executable is run by the first. </p> </li>
-<li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build the example
-from your IDE or the command line. </p> <p>If you use an IDE, import the <filepath>bld.inf</filepath> file
-of the example into your IDE, and use the build command of the IDE. </p> <p>If
-you use the command line, open a command prompt, and set the current directory
-to the source code directory of the example. You can then build the example
-with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake
-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
-how to use the SBSv1 build tools. </p> </li>
-</ul> </section>
-<section id="GUID-8B18A01A-44D4-400E-9CEC-3E75F55D7F7F"><title>Running the example</title> <p>When running the example, the
-user is presented with various menu options that are self-explanatory. Press
-any other key to exit. </p> </section>
-<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>
+<?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-DCA2880E-7DF9-5E60-8F87-241711935389" xml:lang="en"><title>FeatMngrExample: dynamic feature management example</title><shortdesc>This example demonstrates the use of Feature Manager APIs
+for dynamic feature management. It also demonstrates how to receive
+notification about changes to a feature. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-716F1987-F1F1-4E20-8390-BBD9AE592C2A"><title>Download</title> <p>Click on the following link to download 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>
+<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. UI vendors and device manufacturers can use this API to declare
+features (such as DRM agents, codecs, vibra) as available or not.
+The feature set can be adjusted dynamically as software services are
+installed and uninstalled or as platform capabilities are discovered
+dynamically. </p> <p>This example shows how Feature Manager APIs allow
+applications and system software to establish which features are present
+on or absent from a Symbian device. </p> </section>
+<section id="GUID-1C59222F-2F39-4599-8052-AE7C83854AC8"><title>Design
+and implementation</title> <p>The example consists of two processes: </p> <ul>
+<li id="GUID-0DA213CD-55C2-5ADD-A872-20D008EE5D46"><p> <filepath>featmngrexample.exe</filepath>: this is the main process which provides the list of available features.
+It also provides the option to add new features or delete/update a
+feature. </p> </li>
+<li id="GUID-B2A151CA-3807-5990-B431-CF4083E42107"><p> <filepath>featurechecker.exe</filepath>: this process receives notification about new features installed
+or uninstalled by the main process. </p> </li>
+</ul> <p><b>FeatMngrExample</b> </p> <p>This shows the use of the <xref href="GUID-F6AAAC24-4A62-383A-86C6-2E46335C3FD4.dita"><apiname>RFeatureControl</apiname></xref> API to manage features. </p> <p>It presents
+menu options to the user to list the available features, to add or
+delete a feature, update an existing feature, and to enable or disable
+a feature. It also starts another process, called featurechecker.exe
+which receives notifications of events happening in this process.
+The list of features includes some whose feature flags are non-modifiable.
+Any attempt to modify or delete those features will result in a system
+error -21 (<codeph>KErrAccessDenied</codeph>). When adding a new feature,
+it should be in the range as described in the console because the
+featurechecker process subscribes to this range of features for change
+notification. </p> <p><b>FeatureChecker</b> </p> <p>This process is
+started by <filepath>featmngrexample.exe</filepath>. It implements
+the <xref href="GUID-623C4183-00F0-36B0-AE1F-5C5EDCAF1B3D.dita"><apiname>MFeatureObserver</apiname></xref> class to handle notification
+of feature changes. <codeph>FeatureChecker</codeph> also demonstrates
+the use of the <xref href="GUID-CA12C6F7-E997-33B8-9463-B326BC1832C5.dita"><apiname>CFeatureNotifier</apiname></xref> class. It implements <codeph>HandleNotifyChange()</codeph> to handle the changes made by FeatMngrExample.
+The type of change is displayed to the user as an 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 called to handle changes for those features which are subscribed
+to for notification (in the <codeph>NotifyFeatureL</codeph> () method). </p> </section>
+<section id="GUID-7A7C9409-D701-4C64-B0B2-AE0F89C396FA"><title>Building
+and configuring</title> <p>To build the example: </p> <ul>
+<li id="GUID-A8030260-4FEF-55E1-A50C-65BEE3F08E21"><p>The example
+builds two executables called <filepath>featmngrexample.exe</filepath> and <filepath>featurechecker.exe</filepath> in the standard locations.
+The second executable is run by the first. </p> </li>
+<li id="GUID-DD5D4965-A174-553C-BD13-22A6DFE9E52F"><p>You can build
+the example from your IDE or the command line. </p> <p>If you use
+an IDE, import the <filepath>bld.inf</filepath> file of the example
+into your IDE, and use the build command of the IDE. </p> <p>If you
+use the command line, open a command prompt, and set the current directory
+to the source code directory of the example. You can then build the
+example with the SBSv1 build tools with the following commands: </p> <p><userinput>bldmake bldfiles</userinput> </p> <p><userinput>abld
+build</userinput> </p> </li>
+</ul> </section>
+<section id="GUID-8B18A01A-44D4-400E-9CEC-3E75F55D7F7F"><title>Running
+the example</title> <p>When running the example, the user is presented
+with various menu options that are self-explanatory. Press any other
+key to exit. </p> </section>
+<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>
 </conbody></concept>
\ No newline at end of file