Vibra API

Vibra API provides the functionality to control the device vibra, which is accessed using the CHWRMVibra instance. It also provides methods to retrieve the current settings of the vibration feature in the user profile and the current status of the vibra. It uses synchronous method calls which block the client application until a response is received from the plug-in.

Vibra API also allows the client to request for tactile vibration feedback.

The API consists of CHWRMVibra,MHWRMVibraObserver and MHWRMVibraFeedbackObserver classes.

It provides the following fields:

Fields

Values

Descriptions

KHWRMVibraMinIntensity

-100

Minimum allowed intensity setting for vibra.

KHWRMVibraMinPulseIntensity

1

Minimum allowed intensity setting for vibra pulse.

KHWRMVibraMaxIntensity

100

Maximum allowed intensity setting for vibra.

KHWRMVibraMaxDuration

(KMaxTInt/1000)-1

Maximum allowed duration value in milliseconds.

KHWRMVibraInfiniteDuration

0

Specifies that vibrating must continue for maximum vibrating time supported by device if vibrating is not explicitly stopped.

Observer

A separate callback interface MHWRMVibraObserver for status reporting is also used. The client creates an instance of CHWRMVibra using NewL(). If the client requires the status information, it must provide a callback pointer of the MHWRMVibraObserver implementing class for the NewL() method.

Figure 1. Vibra API Interfaces

Tactile vibration feedback

Tactile vibration is used in many touch screen devices to provide vibration feedback to the user through display surface.

The clients can specify the intensity and duration of the feedback pulse, and receive notifications when the tactile feedback settings changes in the user profile through MHWRMVibraFeedbackObserver class.

Note: The tactile feedback functionality is only available to the clients configured at the firmware build time (Symbian platform licensees).

Table 1. Definitions

Vibra frozen state

Whenever vibra is released, its current state is stored as frozen state. On next reserve, the user can specify that the frozen state be restored.

Vibra virtual state

Reserves the specified resource. If reservation is not suspended, then actual vibra is also set to the same state. If reservation is suspended, actual vibra is not affected by any control methods.