removing context name and replacing it with gesture
[platform/core/api/gesture.git] / src / SensorAdapter.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
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  *
16  */
17
18 #ifndef __GESTURE_SENSOR_ADAPTER_H__
19 #define __GESTURE_SENSOR_ADAPTER_H__
20
21 #include <sensor_internal.h>
22 #include "TypesInternal.h"
23 #include "ISensorListener.h"
24
25 namespace gesture {
26
27         class SensorAdapter {
28         public:
29                 SensorAdapter(ISensorListener* listener);
30                 ~SensorAdapter();
31
32                 void setSensor(sensor_type_t type);
33                 void setPowerSave(bool ps);
34                 void setAttribute(int key, int value);
35
36                 bool start();
37                 bool stop();
38
39                 static bool isSupported(sensor_type_t type);
40
41         private:
42                 double __getEpoch(unsigned long long monotonic);
43                 void __onEvent(sensor_data_t* eventData);
44
45                 static void __eventCb(sensor_t sensor, unsigned int eventType, sensor_data_t *eventData, void *cbData);
46
47                 int __sensorHandle;
48                 sensor_type_t __sensorType;
49                 bool __powerSave;
50                 ISensorListener *__listener;
51         };
52
53 }
54
55 #endif /* __GESTURE_SENSOR_ADAPTER_H__ */