Add to read a custum feature key.
[platform/framework/native/appfw.git] / src / system / FSys_SystemInfoImpl.cpp
index 9d14647..8cc29b0 100644 (file)
@@ -446,7 +446,7 @@ _SystemInfoImpl::GetSysInfo(const String& key, String& value)
        {
                r = GetFromRegistry(tizenKey, value);
 
-               if(r != E_SUCCESS)
+               if(r != E_SUCCESS || value == L"ERROR")
                {
                        ArrayList requestMessage;
                        ArrayList responseMessage;
@@ -482,7 +482,6 @@ _SystemInfoImpl::GetSysInfo(const String& key, String& value)
 
                        value = *pDuid;
 
-CATCH:
                        responseMessage.RemoveAll(true);
                }
        }
@@ -503,8 +502,11 @@ CATCH:
                        SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
 
                        int ret = system_info_get_platform_string(systemKey.get(), &pStringValue);
-                       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", tizenKey.GetPointer());
-
+                       if (ret != SYSTEM_INFO_ERROR_NONE)
+                       {
+                               ret = system_info_get_custom_string(systemKey.get(), &pStringValue);
+                               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", tizenKey.GetPointer());
+                       }
                        r = StringUtil::Utf8ToString(pStringValue, value);
                        free(pStringValue);
                        r = E_SUCCESS;
@@ -570,7 +572,12 @@ _SystemInfoImpl::GetSysInfo(const String& key, int& value)
                        SysTryReturn(NID_SYS, r == E_SUCCESS, E_SYSTEM, r, "[%s] StringUtil::StringToUtf8N It is failed", GetErrorMessage(r));
 
                        ret = system_info_get_platform_int(systemKey.get(), &value);
-                       SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND, "It is failed to get system information %ls from configration file.", tizenKey.GetPointer());
+                       if (ret != SYSTEM_INFO_ERROR_NONE)
+                       {
+                               ret = system_info_get_custom_int(systemKey.get(), &value);
+                               SysTryReturnResult(NID_SYS, ret == SYSTEM_INFO_ERROR_NONE, E_OBJ_NOT_FOUND,
+                                       "It is failed to get system information %ls from configration file.", tizenKey.GetPointer());
+                       }
                        r = E_SUCCESS;
                }
        }
@@ -632,13 +639,17 @@ _SystemInfoImpl::GetSysInfo(const String& key, bool& value)
                int ret = system_info_get_platform_bool(systemKey.get(), &supported);
                if(ret != SYSTEM_INFO_ERROR_NONE)
                {
-                       String screenKey(L"http://tizen.org/feature/screen.size");
-                       String requiredKey;
-                       tizenKey.SubString(0, screenKey.GetLength(), requiredKey);
-
-                       if(requiredKey == screenKey)
+                       ret = system_info_get_custom_bool(systemKey.get(), &supported);
+                       if (ret != SYSTEM_INFO_ERROR_NONE)
                        {
-                               value = false;
+                               String screenKey(L"http://tizen.org/feature/screen.size");
+                               String requiredKey;
+                               tizenKey.SubString(0, screenKey.GetLength(), requiredKey);
+
+                               if(requiredKey == screenKey)
+                               {
+                                       value = false;
+                               }
                        }
                }
 
@@ -854,8 +865,6 @@ _SystemInfoImpl::GetImei(String& imei)
        SysTryReturn(NID_SYS, *pResult == _SYSTEM_RESULT_OK, r = E_SYSTEM, r, "It is failed to get IMEI value.");
 
        imei = *pImei;
-
-CATCH:
        responseMessage.RemoveAll(true);
 
        return r;
@@ -872,7 +881,7 @@ _SystemInfoImpl::GetFromRegistry(const String& key, String& value)
        SysTryReturnResult(NID_SYS, r == E_SUCCESS , r, " RegistryImpl construct is failed");
 
        r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, r == E_SUCCESS , r, " Registry GetValue is failed");
+       SysTryReturnResult(NID_SYS, r == E_SUCCESS , r, " Registry GetValue is failed, %ls", key.GetPointer());
 
        if(valStr == L"true" || valStr == L"false")
        {
@@ -897,8 +906,7 @@ _SystemInfoImpl::GetFromRegistry(const String& key, int& value)
        SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " RegistryImpl construct is failed");
 
        r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " Registry GetValue is failed");
-       SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, " Registry GetValue is failed");
+       SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " Registry GetValue is failed, %ls", key.GetPointer());
        r = Integer::Parse(valStr, value);
        SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_OBJ_NOT_FOUND, " Integer::Parse() is failed");
        return E_SUCCESS;
@@ -915,8 +923,7 @@ _SystemInfoImpl::GetFromRegistry(const String& key, bool& value)
        SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " RegistryImpl construct is failed");
 
        r = _reg.GetValue(_SYSTEM_INFO_SESSION, key, valStr);
-       SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " Registry GetValue is failed");
-       SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, " Registry GetValue is failed");
+       SysTryReturnResult(NID_SYS, r == E_SUCCESS, r, " Registry GetValue is failed, [%ls]", key.GetPointer());
        if(valStr == L"true")
        {
                value = true;