1671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian/*
2671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * Copyright (C) 2010 The Android Open Source Project
3671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian *
4671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License");
5671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * you may not use this file except in compliance with the License.
6671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * You may obtain a copy of the License at
7671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian *
8671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian *      http://www.apache.org/licenses/LICENSE-2.0
9671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian *
10671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * Unless required by applicable law or agreed to in writing, software
11671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS,
12671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * See the License for the specific language governing permissions and
14671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian * limitations under the License.
15671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian */
16671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
17671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian#include <stdint.h>
18671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian#include <sys/types.h>
19671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
20671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian#include <cutils/log.h>
21671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
22671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian#include "SensorInterface.h"
23671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
24671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopiannamespace android {
25671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian// ---------------------------------------------------------------------------
26671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
27671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias AgopianSensorInterface::~SensorInterface()
28671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian{
29671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
30671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
31671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian// ---------------------------------------------------------------------------
32671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
33671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias AgopianHardwareSensor::HardwareSensor(const sensor_t& sensor)
34671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian    : mSensorDevice(SensorDevice::getInstance()),
35b483d5cd134cda393824fd8e9c1a5443bd868ae6Mathias Agopian      mSensor(&sensor)
36671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian{
376215d3ff4b5dfa52a5d8b9a42e343051f31066a5Steve Block    ALOGI("%s", sensor.name);
38671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
39671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
40671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias AgopianHardwareSensor::~HardwareSensor() {
41671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
42671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
43671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopianbool HardwareSensor::process(sensors_event_t* outEvent,
44671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian        const sensors_event_t& event) {
45671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian    *outEvent = event;
46671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian    return true;
47671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
48671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
49b483d5cd134cda393824fd8e9c1a5443bd868ae6Mathias Agopianstatus_t HardwareSensor::activate(void* ident, bool enabled) {
50b483d5cd134cda393824fd8e9c1a5443bd868ae6Mathias Agopian    return mSensorDevice.activate(ident, mSensor.getHandle(), enabled);
51671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
52671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
53671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopianstatus_t HardwareSensor::setDelay(void* ident, int handle, int64_t ns) {
54671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian    return mSensorDevice.setDelay(ident, handle, ns);
55671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
56671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
57671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias AgopianSensor HardwareSensor::getSensor() const {
58671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian    return mSensor;
59671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}
60671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
61671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian
62671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian// ---------------------------------------------------------------------------
63671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8Mathias Agopian}; // namespace android
64