Merge branch 'devel/tizen' into tizen
[platform/core/system/sensord.git] / include / sensor_internal_deprecated.h
1 /*
2  * sensord
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #ifndef __SENSOR_INTERNAL_DEPRECATED__
21 #define __SENSOR_INTERNAL_DEPRECATED__
22
23 #ifndef DEPRECATED
24 #define DEPRECATED __attribute__((deprecated))
25 #endif
26
27 #include <stdbool.h>
28 #include <sys/types.h>
29
30 /*header for common sensor type*/
31 #include <sensor_types.h>
32 #include <sensor_deprecated.h>
33
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #endif
38
39 typedef struct {
40         int cond_op; /* TODO: change it from int to condition_op_t */
41         float cond_value1;
42 } event_condition_t;
43
44 typedef struct {
45         size_t event_data_size;
46         void *event_data;
47 } sensor_event_data_t;
48
49 typedef void (*sensor_callback_func_t)(unsigned int, sensor_event_data_t *, void *);
50 typedef sensor_callback_func_t sensor_legacy_cb_t;
51
52 typedef struct {
53         int x;
54         int y;
55         int z;
56 } sensor_panning_data_t;
57
58 /**
59  * @fn int sf_connect(sensor_type_t sensor)
60  * @brief  This API connects a sensor type to respective sensor. The application calls with the type of the sensor (ex. ACCELEROMETER_SENSOR) and on basis of that server takes decision of which plug-in to be connected. Once sensor connected application can proceed for data processing. This API returns a positive handle which should be used by application to communicate on sensor type.
61  * @param[in] sensor_type your desired sensor type
62  * @return if it succeed, it return handle value( >=0 ), otherwise negative value return
63  */
64 DEPRECATED int sf_connect(sensor_type_t sensor_type);
65
66 /**
67  * @fn int sf_disconnect(int handle)
68  * @brief This API disconnects an attached sensor from an application. Application must use the handle retuned after attaching the sensor. After detaching, the corresponding handle will be released.
69  * @param[in] handle received handle value by sf_connect()
70  * @return if it succeed, it return zero value, otherwise negative value return
71  */
72 DEPRECATED int sf_disconnect(int handle);
73
74 /**
75  * @fn int sf_start(int handle, int option)
76  * @brief This API sends a start command to sensor server. This intimates server that the client side is ready to handle data and start processing. The parameter option should be '0' for current usages.
77  * @param[in] handle received handle value by sf_connect()
78  * @param[in] option With SENSOR_OPTION_DEFAULT, it stops to sense when LCD is off, and with SENSOR_OPTION_ALWAYS_ON, it continues to sense even when LCD is off
79  * @return if it succeed, it return zero value, otherwise negative value return
80  */
81 DEPRECATED int sf_start(int handle, int option);
82
83 /**
84  * @fn int sf_stop(int handle)
85  * @brief This API sends a stop command to the Sensor server indicating that the data processing is stopped from application side for this time.
86  * @param[in] handle received handle value by sf_connect()
87  * @return if it succeed, it return zero value, otherwise negative value return
88  */
89 DEPRECATED int sf_stop(int handle);
90
91 /**
92  * @fn int sf_register_event(int handle, unsigned int event_type, event_conditon_t *event_condition, sensor_callback_func_t cb, void *user_data)
93  * @brief This API registers a user defined callback function with a connected sensor for a particular event. This callback function will be called when there is a change in the state of respective sensor. user_data will be the parameter used during the callback call. Callback interval can be adjusted using even_contion_t argument.
94  * @param[in] handle received handle value by sf_connect()
95  * @param[in] event_type your desired event_type to register it
96  * @param[in] event_condition input event_condition for special event. if you want to register without event_condition, just use a NULL value
97  * @param[in] cb your define callback function
98  * @param[in] user_data your option data that will be send when your define callback function called. if you don't have any option data, just use a NULL value
99  * @return if it succeed, it return zero value, otherwise negative value return
100  */
101 DEPRECATED int sf_register_event(int handle, unsigned int event_type, event_condition_t *event_condition, sensor_callback_func_t cb, void *user_data);
102
103 /**
104  * @fn int sf_unregister_event(int handle, unsigned int event_type)
105  * @brief This API de-registers a user defined callback function with a sensor registered with the specified handle. After unsubscribe, no event will be sent to the application.
106  * @param[in] handle received handle value by sf_connect()
107  * @param[in] event_type your desired event_type that you want to unregister event
108  * @return if it succeed, it return zero value, otherwise negative value return
109  */
110 DEPRECATED int sf_unregister_event(int handle, unsigned int event_type);
111
112 /**
113  * @fn int sf_get_data(int handle, unsigned int data_id, sensor_data_t* values)
114  * @brief This API gets raw data from a sensor with connecting the sensor-server. The type of sensor is supplied and return data is stored in the output parameter values [].
115  * @param[in] handle received handle value by sf_connect()
116  * @param[in] data_id predefined data_ID as every sensor in own header - sensor_xxx.h, enum xxx_data_id {}
117  * @param[out] values return values
118  * @return if it succeed, it return zero value, otherwise negative value return
119  */
120 DEPRECATED int sf_get_data(int handle, unsigned int data_id, sensor_data_t* values);
121
122 /**
123  * @fn int sf_change_event_condition(int handle, unsigned int event_type, event_condition_t *event_condition)
124  * @brief This API change a user defined callback function condition with a sensor registered with the specified handle.
125  * @param[in] handle received handle value by sf_connect()
126  * @param[in] event_type your desired event_type that you want to unregister event
127  * @param[in] event_condition your desired event condition that you want to change event
128  * @return if it succeed, it return zero value, otherwise negative value return
129  */
130 DEPRECATED int sf_change_event_condition(int handle, unsigned int event_type, event_condition_t *event_condition);
131
132 /**
133  * @fn int sf_change_sensor_option(int handle, int option)
134  * @brief This API change sensor option .
135  * @param[in] handle received handle value by sf_connect()
136  * @param[in] option your desired option that you want to turn on sensor during LCD OFF
137  * @return if it succeed, it return zero value, otherwise negative value return
138  */
139
140 DEPRECATED int sf_change_sensor_option(int handle, int option);
141
142 /**
143  * @fn int sf_send_sensorhub_data(int handle, const char* buffer, int data_len)
144  * @brief This API sends data to sensorhub.
145  * @param[in] handle received handle by sf_connect()
146  * @param[in] data it holds data to send to sensorhub
147  * @param[in] data_len the length of data
148  * @return if it succeed, it returns zero, otherwise negative value
149  */
150 DEPRECATED int sf_send_sensorhub_data(int handle, const char* data, int data_len);
151
152 DEPRECATED int sf_check_rotation(unsigned long *rotation);
153
154 #ifdef __cplusplus
155 }
156 #endif
157
158 #endif