|
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-D53A00E4-CF37-5F11-8D15-C5ECCCE64597" xml:lang="en"><title>Vibra |
|
13 API</title><abstract><shortdesc>Vibra API provides the functionality to control the device |
|
14 vibra, which is accessed using the <apiname>CHWRMVibra</apiname> instance. |
|
15 It also provides methods to retrieve the current settings of the vibration |
|
16 feature in the user profile and the current status of the vibra. It uses synchronous |
|
17 method calls which block the client application until a response is received |
|
18 from the plug-in. </shortdesc> <p>Vibra API also allows the client to request |
|
19 for tactile vibration feedback. </p> </abstract><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
20 <p>The API consists of <codeph>CHWRMVibra</codeph>,<codeph>MHWRMVibraObserver</codeph> and <codeph>MHWRMVibraFeedbackObserver</codeph> classes. </p> |
|
21 <p>It provides the following fields: </p> |
|
22 <table id="GUID-65DF6175-8150-5F3D-BF8F-D7D9E1105C1A"> |
|
23 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/> |
|
24 <thead> |
|
25 <row> |
|
26 <entry valign="top"><p> <b>Fields</b> </p> </entry> |
|
27 <entry valign="top"><p> <b>Values </b> </p> </entry> |
|
28 <entry valign="top"><p> <b>Descriptions</b> </p> </entry> |
|
29 </row> |
|
30 </thead> |
|
31 <tbody> |
|
32 <row> |
|
33 |
|
34 <entry><p> <codeph>KHWRMVibraMinIntensity</codeph> </p> </entry> |
|
35 <entry><p>-100 </p> </entry> |
|
36 <entry><p>Minimum allowed intensity setting for vibra. </p> </entry> |
|
37 </row> |
|
38 <row> |
|
39 <entry><p> <codeph>KHWRMVibraMinPulseIntensity</codeph> </p> </entry> |
|
40 <entry><p>1</p> </entry> |
|
41 <entry><p>Minimum allowed intensity setting for vibra pulse. </p> </entry> |
|
42 </row> |
|
43 <row> |
|
44 <entry><p> <codeph>KHWRMVibraMaxIntensity</codeph> </p> </entry> |
|
45 <entry><p>100</p> </entry> |
|
46 <entry><p>Maximum allowed intensity setting for vibra. </p> </entry> |
|
47 </row> |
|
48 <row> |
|
49 <entry><p> <codeph>KHWRMVibraMaxDuration</codeph> </p> </entry> |
|
50 <entry><p>(<codeph>KMaxTInt</codeph>/1000)-1 </p> </entry> |
|
51 <entry><p>Maximum allowed duration value in milliseconds. </p> </entry> |
|
52 </row> |
|
53 <row> |
|
54 <entry><p> <codeph>KHWRMVibraInfiniteDuration</codeph> </p> </entry> |
|
55 <entry><p>0</p> </entry> |
|
56 <entry><p>Specifies that vibrating must continue for maximum vibrating time |
|
57 supported by device if vibrating is not explicitly stopped. </p> </entry> |
|
58 </row> |
|
59 </tbody> |
|
60 </tgroup> |
|
61 </table> |
|
62 <section><title> Observer</title> <p>A separate callback interface <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>MHWRMVibraObserver</apiname></xref> for status reporting is also |
|
63 used. The client creates an instance of <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>CHWRMVibra</apiname></xref> using <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>NewL()</apiname></xref>. If the client requires the status information, |
|
64 it must provide a callback pointer of the <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>MHWRMVibraObserver</apiname></xref> implementing |
|
65 class for the <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>NewL()</apiname></xref> method. </p> <fig id="GUID-95D74CC2-CEDD-569B-8B34-A47FDA4F8DE0"> |
|
66 <title> Vibra API Interfaces </title> |
|
67 <image href="GUID-DC44DCFC-8549-5CDE-B6DA-F5FD73E2D9FC_d0e135754_href.jpg" placement="inline"/> |
|
68 </fig> </section> |
|
69 <section><title>Tactile vibration feedback</title> <p>Tactile vibration is |
|
70 used in many touch screen devices to provide vibration feedback to the user |
|
71 through display surface. </p> <p>The clients can specify the intensity and |
|
72 duration of the feedback pulse, and receive notifications when the tactile |
|
73 feedback settings changes in the user profile through <xref href="GUID-68D63D0A-4CC6-34A6-AF5B-BB59AC96625E.dita"><apiname>MHWRMVibraFeedbackObserver</apiname></xref> class. </p> <p> <b> Note</b>: The tactile feedback functionality is only available to the clients configured |
|
74 at the firmware build time (Symbian platform licensees). </p> <table id="GUID-D75949EB-BC44-4120-825B-8B905562777D"><title>Definitions</title> |
|
75 <tgroup cols="2"><colspec colname="COLSPEC0" colwidth="0.42*"/><colspec colname="COLSPEC1" colwidth="1.58*"/> |
|
76 <tbody> |
|
77 <row> |
|
78 <entry><p>Vibra frozen state </p> </entry> |
|
79 <entry><p>Whenever vibra is released, its current state is stored as frozen |
|
80 state. On next reserve, the user can specify that the frozen state be restored. </p> </entry> |
|
81 </row> |
|
82 <row> |
|
83 <entry><p>Vibra virtual state </p> </entry> |
|
84 <entry><p>Reserves the specified resource. If reservation is not suspended, |
|
85 then actual vibra is also set to the same state. If reservation is suspended, |
|
86 actual vibra is not affected by any control methods.</p> </entry> |
|
87 </row> |
|
88 </tbody> |
|
89 </tgroup> |
|
90 </table></section> |
|
91 </conbody></concept> |