sensord: fix incorrect return type
[platform/core/system/sensord.git] / src / server / virtual_sensor.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 _VIRTUAL_SENSOR_H_
21 #define _VIRTUAL_SENSOR_H_
22
23 #include <sensor_base.h>
24
25 class virtual_sensor : public sensor_base {
26 public:
27         virtual_sensor();
28         virtual ~virtual_sensor();
29
30         /* initialize sensor */
31         virtual bool init();
32
33         /* module info */
34         virtual sensor_type_t get_type() = 0;
35         virtual unsigned int get_event_type(void) = 0;
36         virtual const char* get_name(void) = 0;
37
38         virtual bool get_sensor_info(sensor_info &info) = 0;
39
40         /* synthesize event */
41         virtual void synthesize(const sensor_event_t& event) = 0;
42
43         /* get data */
44         virtual int get_data(sensor_data_t **data, int *length) = 0;
45
46         bool is_virtual(void);
47
48 protected:
49         bool activate(void);
50         bool deactivate(void);
51
52 private:
53         virtual bool set_interval(unsigned long interval) = 0;
54         virtual bool set_batch_latency(unsigned long latency) = 0;
55         virtual bool on_start(void) = 0;
56         virtual bool on_stop(void) = 0;
57 };
58
59 #endif /* _VIRTUAL_SENSOR_H_ */