SYSTEM_INFO_KEY_TETHERING_SUPPORTED, /**< Indicates whether the device supports tethering */
SYSTEM_INFO_KEY_SPEECH_SYNTHESIS_SUPPORTED, /**< Indicates whether the device supports tts */
SYSTEM_INFO_KEY_GRAPHICS_HWACCEL_SUPPORTED, /**< Indicates whether the device supports graphics hardware acceleration */
+ SYSTEM_INFO_KEY_FEATURE_AUTO_ROTATION_SUPPORTED, /**< Indicates whether the device supports native auto rotation feature */
} system_info_key_e;
/**
int system_info_get_tethering_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
int system_info_get_nfc_reserved_push_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
int system_info_get_graphics_hwaccel_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
+int system_info_get_feature_auto_rotation_supported(system_info_key_e key, system_info_data_type_e data_type, void **value);
int system_info_get_value_from_xml(char *xml_file_path, char *model, char *id_field, char **value);
#ifdef __cplusplus
#sbs-git:slp/api/system-info capi-system-info 0.1.0 63d15bafa590ee9de869c8a8ade712e06828e5c3
Name: capi-system-info
Summary: A System Information library in SLP C API
-Version: 0.1.12
+Version: 0.1.13
Release: 0
Group: System/Libraries
License: Apache License, Version 2.0 and IEFT RFC Collection
},
{
+ /**< Indicates whether the device supports auto rotation feature */
+ SYSTEM_INFO_KEY_FEATURE_AUTO_ROTATION_SUPPORTED,
+ SYSTEM_INFO_DATA_TYPE_BOOL,
+ system_info_get_feature_auto_rotation_supported
+},
+
+{
SYSTEM_INFO_MAX, -1, NULL
}
#define MESSAGE_INFO_FILE_PATH "/etc/config/sysinfo-message.xml"
#define GRAPHICS_INFO_FILE_PATH "/etc/config/graphics/sysinfo-graphics.xml"
+#define SCREEN_INFO_FILE_PATH "/etc/config/screen/sysinfo-screen.xml"
int system_info_get_value_from_xml(char *xml_file_path, char *model, char *id_field, char **value)
{
return SYSTEM_INFO_ERROR_NONE;
}
+
+int system_info_get_feature_auto_rotation_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
+
+{
+ bool *supported;
+ char *string = NULL;
+ char *model = "default";
+
+ supported = (bool *)value;
+
+ if (access(SCREEN_INFO_FILE_PATH, R_OK)) {
+ *supported = false;
+ return SYSTEM_INFO_ERROR_NONE;
+ }
+
+ if (system_info_get_value_from_xml(SCREEN_INFO_FILE_PATH, model, "auto-rotation-support", &string)) {
+ LOGE("cannot get auto-rotation-support info from %s!!!", SCREEN_INFO_FILE_PATH);
+ return SYSTEM_INFO_ERROR_IO_ERROR;
+ }
+
+ if (!strcmp(string, "true") || !strcmp(string, "TRUE"))
+ *supported = true;
+ else
+ *supported = false;
+
+ free(string);
+
+ return SYSTEM_INFO_ERROR_NONE;
+}