2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
24 #include <system_info.h>
25 #include <system_info_private.h>
31 #define LOG_TAG "CAPI_SYSTEM_INFO"
33 #define TETHERING_INFO_FILE_PATH "/etc/config/connectivity/sysinfo-tethering.xml"
35 int system_info_get_camera_count(system_info_key_e key, system_info_data_type_e data_type, void **value)
43 if (system_info_get_platform_bool("tizen.org/feature/camera.back", &camera) == SYSTEM_INFO_ERROR_NONE
46 if (system_info_get_platform_bool("tizen.org/feature/camera.front", &camera) == SYSTEM_INFO_ERROR_NONE
50 return SYSTEM_INFO_ERROR_NONE;
53 int system_info_get_bluetooth_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
55 return system_info_get_platform_bool("tizen.org/feature/network.bluetooth", (bool *)value);
58 int system_info_get_fmradio_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
60 return system_info_get_platform_bool("tizen.org/feature/fmradio", (bool *)value);
63 int system_info_get_gps_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
65 return system_info_get_platform_bool("tizen.org/feature/location.gps", (bool *)value);
68 int system_info_get_wps_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
70 return system_info_get_platform_bool("tizen.org/feature/location.wps", (bool *)value);
73 int system_info_get_keyboard_type(system_info_key_e key, system_info_data_type_e data_type, void **value)
75 return system_info_get_platform_string("tizen.org/feature/input.keyboard.layout", (char**)value);
78 int system_info_get_multi_point_touch_count(system_info_key_e key, system_info_data_type_e data_type, void **value)
80 return system_info_get_platform_int("tizen.org/feature/multi_point_touch.point_count", (int *)value);
83 int system_info_get_nfc_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
85 return system_info_get_platform_bool("tizen.org/feature/network.nfc", (bool *)value);
88 int system_info_get_wifi_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
90 return system_info_get_platform_bool("tizen.org/feature/network.wifi", (bool *)value);
93 int system_info_get_wifi_direct_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
95 return system_info_get_platform_bool("tizen.org/feature/network.wifi.direct", (bool *)value);
98 int system_info_get_usb_host_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
100 return system_info_get_platform_bool("tizen.org/feature/usb.host", (bool *)value);
103 int system_info_get_usb_accessory_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
105 return system_info_get_platform_bool("tizen.org/feature/usb.accessory", (bool *)value);
108 int system_info_get_front_camera_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
110 return system_info_get_platform_bool("tizen.org/feature/camera.front", (bool *)value);
113 int system_info_get_front_camera_flash_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
115 return system_info_get_platform_bool("tizen.org/feature/camera.front.flash", (bool *)value);
118 int system_info_get_back_camera_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
120 return system_info_get_platform_bool("tizen.org/feature/camera.back", (bool *)value);
123 int system_info_get_back_camera_flash_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
125 return system_info_get_platform_bool("tizen.org/feature/camera.back.flash", (bool *)value);
128 int system_info_get_sip_voip_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
130 return system_info_get_platform_bool("tizen.org/feature/sip.voip", (bool *)value);
133 int system_info_get_microphone_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
135 return system_info_get_platform_bool("tizen.org/feature/microphone", (bool *)value);
138 int system_info_get_speech_recognition_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
140 return system_info_get_platform_bool("tizen.org/feature/speech.recognition", (bool *)value);
143 int system_info_get_speech_synthesis_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
145 return system_info_get_platform_bool("tizen.org/feature/speech.synthesis", (bool *)value);
148 int system_info_get_barometer_sensor_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
150 return system_info_get_platform_bool("tizen.org/feature/sensor.barometer", (bool *)value);
153 int system_info_get_manufacturer(system_info_key_e key, system_info_data_type_e data_type, void **value)
155 char *manufacturer = NULL;
157 manufacturer = strdup("samsung");
158 if (manufacturer == NULL) {
159 LOGE("OUT_OF_MEMORY(0x%08x)", SYSTEM_INFO_ERROR_OUT_OF_MEMORY);
160 return SYSTEM_INFO_ERROR_OUT_OF_MEMORY;
163 *value = manufacturer;
165 return SYSTEM_INFO_ERROR_NONE;
168 int system_info_get_tethering_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
172 char *model = "default";
174 supported = (bool *)value;
176 if (access(TETHERING_INFO_FILE_PATH, R_OK)) {
178 return SYSTEM_INFO_ERROR_NONE;
181 if (system_info_get_value_from_xml(TETHERING_INFO_FILE_PATH, model, "tethering-support", &string)) {
182 LOGE("cannot get tethering-support info from %s!!!", TETHERING_INFO_FILE_PATH);
183 return SYSTEM_INFO_ERROR_IO_ERROR;
186 if (!strcmp(string, "true") || !strcmp(string, "TRUE"))
193 return SYSTEM_INFO_ERROR_NONE;
196 int system_info_get_nfc_reserved_push_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
198 return system_info_get_platform_bool("tizen.org/feature/network.nfc.reserved_push", (bool *)value);