blob: bea6ea8f3a3547aa5605b8f3efb136775adce817 [file] [log] [blame]
Prashant Malani89fc3be2016-09-30 16:17:16 -07001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Steven Morelandd6e4f032016-11-28 18:37:07 -080016#ifndef ANDROID_HARDWARE_VIBRATOR_V1_0_VIBRATOR_H
17#define ANDROID_HARDWARE_VIBRATOR_V1_0_VIBRATOR_H
Prashant Malani89fc3be2016-09-30 16:17:16 -070018
19#include <android/hardware/vibrator/1.0/IVibrator.h>
20#include <hidl/Status.h>
21
22#include <hidl/MQDescriptor.h>
23namespace android {
24namespace hardware {
25namespace vibrator {
26namespace V1_0 {
27namespace implementation {
28
Prashant Malani89fc3be2016-09-30 16:17:16 -070029struct Vibrator : public IVibrator {
30 Vibrator(vibrator_device_t *device);
31
32 // Methods from ::android::hardware::vibrator::V1_0::IVibrator follow.
33 Return<Status> on(uint32_t timeoutMs) override;
34 Return<Status> off() override;
Michael Wrightbf3bc862017-01-31 18:34:35 +000035 Return<bool> supportsAmplitudeControl() override;
36 Return<Status> setAmplitude(uint8_t amplitude) override;
37 Return<void> perform(Effect effect, EffectStrength strength, perform_cb _hidl_cb) override;
Prashant Malani89fc3be2016-09-30 16:17:16 -070038
Michael Wrightbf3bc862017-01-31 18:34:35 +000039private:
40 vibrator_device_t *mDevice;
Prashant Malani89fc3be2016-09-30 16:17:16 -070041};
42
43extern "C" IVibrator* HIDL_FETCH_IVibrator(const char* name);
44
45} // namespace implementation
46} // namespace V1_0
47} // namespace vibrator
48} // namespace hardware
49} // namespace android
50
Steven Morelandd6e4f032016-11-28 18:37:07 -080051#endif // ANDROID_HARDWARE_VIBRATOR_V1_0_VIBRATOR_H