c840a4233bf12803d4c2fa8210c1438b43bfdc93
[platform/adaptation/tm1/sensor-hal-tm1.git] / src / sensor_device_create.cpp.in
1 #ifdef ENABLE_ACCEL
2 #include <accel_sensor_device.h>
3 #endif
4 #ifdef ENABLE_BIO_LED_RED
5 #include <bio_led_red_sensor_device.h>
6 #endif
7 #ifdef ENABLE_GEO
8 #include <geo_sensor_device.h>
9 #endif
10 #ifdef ENABLE_GYRO
11 #include <gyro_sensor_device.h>
12 #endif
13 #ifdef ENABLE_LIGHT
14 #include <light_sensor_device.h>
15 #endif
16 #ifdef ENABLE_PRESSURE
17 #include <pressure_sensor_device.h>
18 #endif
19 #ifdef ENABLE_PROXI
20 #include <proxi_sensor_device.h>
21 #endif
22 #ifdef ENABLE_RV_RAW
23 #include <rv_raw_sensor_device.h>
24 #endif
25 #ifdef ENABLE_TEMPERATURE
26 #include <temperature_sensor_device.h>
27 #endif
28 #ifdef ENABLE_ULTRAVIOLET
29 #include <ultraviolet_sensor_device.h>
30 #endif
31
32 #include <sensor_common.h>
33
34 extern "C" sensor_devices* create(void)
35 {
36         sensor_devices *devices = new(std::nothrow) sensor_devices;
37         retvm_if(!devices, NULL, "Failed to allocate memory");
38
39 #ifdef ENABLE_ACCEL
40         accel_sensor_device *accel_sensor = NULL;
41         try {
42                 accel_sensor = new(std::nothrow) accel_sensor_device;
43         } catch (int err) {
44                 ERR("Failed to create accel_sensor_device devices, err: %d, cause: %s", err, strerror(err));
45         }
46
47         if (accel_sensor != NULL) {
48                 devices->devices.push_back(accel_sensor);
49         }
50 #endif
51
52 #ifdef ENABLE_BIO_LED_RED
53         bio_led_red_sensor_device *bio_led_red_sensor = NULL;
54         try {
55                 bio_led_red_sensor = new(std::nothrow) bio_led_red_sensor_device;
56         } catch (int err) {
57                 ERR("Failed to create bio_led_red_sensor_device devices, err: %d, cause: %s", err, strerror(err));
58         }
59         if (bio_led_red_sensor != NULL)
60                 devices->devices.push_back(bio_led_red_sensor);
61 #endif
62
63 #ifdef ENABLE_GEO
64         geo_sensor_device *geo_sensor = NULL;
65         try {
66                 geo_sensor = new(std::nothrow) geo_sensor_device;
67         } catch (int err) {
68                 ERR("Failed to create geo_sensor_device devices, err: %d, cause: %s", err, strerror(err));
69         }
70         if (geo_sensor != NULL)
71                 devices->devices.push_back(geo_sensor);
72 #endif
73
74 #ifdef ENABLE_GYRO
75         gyro_sensor_device *gyro_sensor = NULL;
76         try {
77                 gyro_sensor = new(std::nothrow) gyro_sensor_device;
78         } catch (int err) {
79                 ERR("Failed to create gyro_sensor_device devices, err: %d, cause: %s", err, strerror(err));
80         }
81         if (gyro_sensor != NULL)
82                 devices->devices.push_back(gyro_sensor);
83 #endif
84
85 #ifdef ENABLE_LIGHT
86         light_sensor_device *light_sensor = NULL;
87         try {
88                 light_sensor = new(std::nothrow) light_sensor_device;
89         } catch (int err) {
90                 ERR("Failed to create light_sensor_device devices, err: %d, cause: %s", err, strerror(err));
91         }
92         if (light_sensor != NULL)
93                 devices->devices.push_back(light_sensor);
94 #endif
95
96 #ifdef ENABLE_PRESSURE
97         pressure_sensor_device *pressure_sensor = NULL;
98         try {
99                 pressure_sensor = new(std::nothrow) pressure_sensor_device;
100         } catch (int err) {
101                 ERR("Failed to create pressure_sensor_device devices, err: %d, cause: %s", err, strerror(err));
102         }
103         if (pressure_sensor != NULL)
104                 devices->devices.push_back(pressure_sensor);
105 #endif
106
107 #ifdef ENABLE_PROXI
108         proxi_sensor_device *proxi_sensor = NULL;
109         try {
110                 proxi_sensor = new(std::nothrow) proxi_sensor_device;
111         } catch (int err) {
112                 ERR("Failed to create proxi_sensor_device devices, err: %d, cause: %s", err, strerror(err));
113         }
114         if (proxi_sensor != NULL)
115                 devices->devices.push_back(proxi_sensor);
116 #endif
117
118 #ifdef ENABLE_RV_RAW
119         rv_raw_sensor_device *rv_raw_sensor = NULL;
120         try {
121                 rv_raw_sensor = new(std::nothrow) rv_raw_sensor_device;
122         } catch (int err) {
123                 ERR("Failed to create rv_raw_sensor_device devices, err: %d, cause: %s", err, strerror(err));
124         }
125         if (rv_raw_sensor != NULL)
126                 devices->devices.push_back(rv_raw_sensor);
127 #endif
128
129 #ifdef ENABLE_TEMPERATURE
130         temperature_sensor_device *temperature_sensor = NULL;
131         try {
132                 temperature_sensor = new(std::nothrow) temperature_sensor_device;
133         } catch (int err) {
134                 ERR("Failed to create temperature_sensor_device devices, err: %d, cause: %s", err, strerror(err));
135         }
136         if (temperature_sensor != NULL)
137                 devices->devices.push_back(temperature_sensor);
138 #endif
139
140 #ifdef ENABLE_ULTRAVIOLET
141         ultraviolet_sensor_device *ultraviolet_sensor = NULL;
142         try {
143                 ultraviolet_sensor = new(std::nothrow) ultraviolet_sensor_device;
144         } catch (int err) {
145                 ERR("Failed to create ultraviolet_sensor_device devices, err: %d, cause: %s", err, strerror(err));
146         }
147         if (ultraviolet_sensor != NULL)
148                 devices->devices.push_back(ultraviolet_sensor);
149 #endif
150
151         return devices;
152 }