add new key SYSTEM_INFO_KEY_TETHERING_SUPPORTED
[framework/api/system-info.git] / src / system_info_device.c
index d866851..a916ab1 100644 (file)
@@ -88,6 +88,7 @@
 #define CAM_VIDEO_SEC_FILE_PATH "/usr/etc/mmfw_camcorder_dev_video_sec.ini"
 
 #define NFC_INFO_FILE_PATH "/etc/config/nfc/sysinfo-nfc-ug.xml"
+#define TETHERING_INFO_FILE_PATH "/etc/config/connectivity/sysinfo-tethering.xml"
 
 static char *FRONT_CAM_PATH;
 static char *BACK_CAM_PATH;
@@ -1001,6 +1002,34 @@ int system_info_get_cp_interface(system_info_key_e key, system_info_data_type_e
        return SYSTEM_INFO_ERROR_NONE;
 }
 
+int system_info_get_tethering_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(TETHERING_INFO_FILE_PATH, R_OK)) {
+               *supported = false;
+               return SYSTEM_INFO_ERROR_NONE;
+       }
+
+       if (system_info_get_value_from_xml(TETHERING_INFO_FILE_PATH, model, "tethering-support", &string)) {
+               LOGE("cannot get tethering-support info from %s!!!", TETHERING_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;
+}
+
 int system_info_get_nfc_reserved_push_supported(system_info_key_e key, system_info_data_type_e data_type, void **value)
 {
        bool *supported;