2.0_alpha release commit
[profile/ivi/system-info.git] / include / system_info_private.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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 __TIZEN_SYSTEM_SYSTEM_INFO_PRIVATE_H__
19 #define __TIZEN_SYSTEM_SYSTEM_INFO_PRIVATE_H__
20
21 #ifdef __cplusplus
22 extern "C"
23 {
24 #endif
25
26 #define INFO_FILE_PATH "/etc/info.ini"
27 #define CPU_INFO_FILE_PATH "/proc/cpuinfo"
28 #define CPU_INFO_MAX_FREQ_PATH "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"
29 #define CMDLINE_PATH "/proc/cmdline"
30 #define MAXBUFSIZE 512
31
32 typedef enum {
33         SYSTEM_INFO_DATA_TYPE_STRING,
34         SYSTEM_INFO_DATA_TYPE_INT,
35         SYSTEM_INFO_DATA_TYPE_DOUBLE,
36         SYSTEM_INFO_DATA_TYPE_BOOL
37 } system_info_data_type_e;
38
39 /**
40  * @brief Enumeration of Mode type
41  */
42 typedef enum {
43         SYSTEM_INFO_MODEL_TYPE_EMULATOR,
44         SYSTEM_INFO_MODEL_TYPE_TARGET
45 } system_info_mode_type_e;
46
47 typedef int (*system_info_get_value_cb) (system_info_key_e key, system_info_data_type_e data_type, void **value);
48
49 int system_info_init(void);
50 int system_info_get_system_info_initialized(void);
51 void system_info_set_system_info_initialized(int value);
52 system_info_mode_type_e system_info_get_system_info_model_type();
53
54 int system_info_vconf_get_value_int(const char *vconf_key, int *value);
55 int system_info_vconf_get_value_bool(const char *vconf_key, bool *value);
56 int system_info_vconf_get_value_double(const char *vconf_key, double *value);
57 int system_info_vconf_get_value_string(const char *vconf_key, char **value);
58
59 int system_info_get_model(system_info_key_e key, system_info_data_type_e data_type, void **value);
60 int system_info_get_tizen_version(system_info_key_e key, system_info_data_type_e data_type, void **value);
61 int system_info_get_platform_name(system_info_key_e key, system_info_data_type_e data_type, void **value);
62 int system_info_get_tizen_version_name(system_info_key_e key, system_info_data_type_e data_type, void **value);
63 int system_info_get_core_cpu_arch(system_info_key_e key, system_info_data_type_e data_type, void **value);
64 int system_info_get_core_fpu_arch(system_info_key_e key, system_info_data_type_e data_type, void **value);
65 int system_info_get_core_cpu_freq(system_info_key_e key, system_info_data_type_e data_type, void **value);
66 int system_info_get_opengles_texture_format(system_info_key_e key, system_info_data_type_e data_type, void **value);
67 int system_info_get_bluetooth_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
68 int system_info_get_camera_count(system_info_key_e key, system_info_data_type_e data_type, void **value);
69 int system_info_get_fmradio_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
70 int system_info_get_gps_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
71 int system_info_get_cps_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
72 int system_info_get_wps_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
73 int system_info_get_keyboard_type(system_info_key_e key, system_info_data_type_e data_type, void **value);
74 int system_info_get_usb_host_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
75 int system_info_get_usb_accessory_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
76 int system_info_get_multi_point_touch_count(system_info_key_e key, system_info_data_type_e data_type, void **value);
77 int system_info_get_network_type(system_info_key_e key, system_info_data_type_e data_type, void **value);
78 int system_info_get_mobile_device_id(system_info_key_e key, system_info_data_type_e data_type, void **value);
79 int system_info_get_nfc_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
80 int system_info_get_front_camera_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
81 int system_info_get_front_camera_af_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
82 int system_info_get_front_camera_flash_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
83 int system_info_get_back_camera_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
84 int system_info_get_back_camera_af_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
85 int system_info_get_back_camera_flash_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
86 int system_info_get_opengles_version(system_info_key_e key, system_info_data_type_e data_type, void **value);
87 int system_info_get_screen_bits_per_pixel(system_info_key_e key, system_info_data_type_e data_type, void **value);
88 int system_info_get_screen_height(system_info_key_e key, system_info_data_type_e data_type, void **value);
89 int system_info_get_screen_width(system_info_key_e key, system_info_data_type_e data_type, void **value);
90 int system_info_get_screen_DPI(system_info_key_e key, system_info_data_type_e data_type, void **value);
91 int system_info_get_hdmi_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
92 int system_info_get_rca_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
93 int system_info_get_physical_screen_height(system_info_key_e key, system_info_data_type_e data_type, void **value);
94 int system_info_get_physical_screen_width(system_info_key_e key, system_info_data_type_e data_type, void **value);
95 int system_info_get_tvout_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
96 int system_info_get_wifi_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
97 int system_info_get_wifi_direct_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
98 int system_info_get_haptic_supproted(system_info_key_e key, system_info_data_type_e data_type, void **value);
99 int system_info_get_mobile_device_id(system_info_key_e key, system_info_data_type_e data_type, void **value);
100 int system_info_get_csc_sales_code(system_info_key_e key, system_info_data_type_e data_type, void **value);
101 int system_info_get_device_uuid(system_info_key_e key, system_info_data_type_e data_type, void **value);
102 int system_info_get_sip_voip_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
103 int system_info_get_microphone_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
104 int system_info_get_speech_recognition_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
105 int system_info_get_barometer_sensor_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
106 int system_info_get_build_string(system_info_key_e key, system_info_data_type_e data_type, void **value);
107 int system_info_get_build_date(system_info_key_e key, system_info_data_type_e data_type, void **value);
108 int system_info_get_build_time(system_info_key_e key, system_info_data_type_e data_type, void **value);
109
110 #ifdef __cplusplus
111 }
112 #endif
113
114 #endif /* __TIZEN_SYSTEM_SYSTEM_INFO_PRIVATE_H__ */