173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian/* 273e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * Copyright (C) 2011 The Android Open Source Project 373e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * 473e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 573e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * you may not use this file except in compliance with the License. 673e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * You may obtain a copy of the License at 773e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * 873e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 973e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * 1073e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * Unless required by applicable law or agreed to in writing, software 1173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 1273e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1373e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * See the License for the specific language governing permissions and 1473e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian * limitations under the License. 1573e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian */ 1673e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 1773e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#ifndef ANDROID_ORIENTATION_SENSOR_H 1873e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#define ANDROID_ORIENTATION_SENSOR_H 1973e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 2073e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#include <stdint.h> 2173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#include <sys/types.h> 2273e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 2373e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#include <gui/Sensor.h> 2473e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 2573e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#include "SensorInterface.h" 2673e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 2773e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian// --------------------------------------------------------------------------- 2873e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopiannamespace android { 2973e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian// --------------------------------------------------------------------------- 3073e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 3173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopianclass SensorDevice; 3273e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopianclass SensorFusion; 3373e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 3473e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopianclass OrientationSensor : public SensorInterface { 3573e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian SensorDevice& mSensorDevice; 3673e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian SensorFusion& mSensorFusion; 3773e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 3873e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopianpublic: 3973e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian OrientationSensor(); 4073e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian virtual bool process(sensors_event_t* outEvent, 4173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian const sensors_event_t& event); 4273e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian virtual status_t activate(void* ident, bool enabled); 4373e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian virtual status_t setDelay(void* ident, int handle, int64_t ns); 4473e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian virtual Sensor getSensor() const; 4573e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian virtual bool isVirtual() const { return true; } 4673e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian}; 4773e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 4873e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian// --------------------------------------------------------------------------- 4973e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian}; // namespace android 5073e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian 5173e0bc805a143d8cc2202fccb73230459edc6869Mathias Agopian#endif // ANDROID_ORIENTATION_SENSOR_H 52