Fix UpdateNetAccount issue.
authorJaemin Ahn <j.m.ahn@samsung.com>
Wed, 17 Apr 2013 05:02:04 +0000 (14:02 +0900)
committerJaemin Ahn <j.m.ahn@samsung.com>
Wed, 17 Apr 2013 05:02:04 +0000 (14:02 +0900)
Change-Id: I6f46fc56f2410d81ca702d3b575eda0bb0d51c51
Signed-off-by: Jaemin Ahn <j.m.ahn@samsung.com>
src/FNet_NetAccountInfoImpl.cpp

index 56e023d..aa1f26d 100644 (file)
@@ -713,6 +713,8 @@ _NetAccountInfoImpl::ConvertToProfileInfo(void* pProfileHandle) const
        connection_profile_h profileHandle = static_cast<connection_profile_h>(pProfileHandle);
        int ret = CONNECTION_ERROR_NONE;
        connection_cellular_auth_type_e authType = CONNECTION_CELLULAR_AUTH_TYPE_NONE;
+       connection_ip_config_type_e ipConfigType = CONNECTION_IP_CONFIG_TYPE_NONE;
+
        unique_ptr<char[]> pApn;
        unique_ptr<char[]> pAuthId;
        unique_ptr<char[]> pAuthPassword;
@@ -769,9 +771,13 @@ _NetAccountInfoImpl::ConvertToProfileInfo(void* pProfileHandle) const
        if ((pAuthId != null) && (pAuthPassword != null))
        {
                ret = connection_profile_set_cellular_auth_info(profileHandle, authType, pAuthId.get(), pAuthPassword.get());
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_cellular_auth_info() is %d", ret);
        }
+       else
+       {
+               ret = connection_profile_set_cellular_auth_info(profileHandle, authType, " ", " ");
+       }
+       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                       "A system error has been occurred. The return value from connection_profile_set_cellular_auth_info() is %d", ret);
 
        if (!__homeUrl.IsEmpty())
        {
@@ -779,50 +785,59 @@ _NetAccountInfoImpl::ConvertToProfileInfo(void* pProfileHandle) const
                SysTryReturnResult(NID_NET, pHomeUrl != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
                ret = connection_profile_set_cellular_home_url(profileHandle, pHomeUrl.get());
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_cellular_home_url() is %d", ret);
        }
+       else
+       {
+               ret = connection_profile_set_cellular_home_url(profileHandle, " ");
+       }
+       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                       "A system error has been occurred. The return value from connection_profile_set_cellular_home_url() is %d", ret);
 
-       if (__localAddressScheme == NET_ADDRESS_SCHEME_STATIC)
+       ret = connection_profile_get_ip_config_type(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, &ipConfigType);
+
+       if (ipConfigType != CONNECTION_IP_CONFIG_TYPE_FIXED)
        {
-               SysTryReturnResult(NID_NET, __pLocalAddress != null, E_INVALID_ARG, "Invalid argument is used. Local Addr Scheme is static, but local addr is null.");
+               if (__localAddressScheme == NET_ADDRESS_SCHEME_STATIC)
+               {
+                       SysTryReturnResult(NID_NET, __pLocalAddress != null, E_INVALID_ARG, "Invalid argument is used. Local Addr Scheme is static, but local addr is null.");
 
-               ret = connection_profile_set_ip_config_type(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, CONNECTION_IP_CONFIG_TYPE_STATIC);
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_ip_config_type() is %d", ret);
+                       ret = connection_profile_set_ip_config_type(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, CONNECTION_IP_CONFIG_TYPE_STATIC);
+                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                                       "A system error has been occurred. The return value from connection_profile_set_ip_config_type() is %d", ret);
 
-               pLocalAddr.reset(_StringConverter::CopyToCharArrayN(__pLocalAddress->ToString()));
-               SysTryReturnResult(NID_NET, pLocalAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+                       pLocalAddr.reset(_StringConverter::CopyToCharArrayN(__pLocalAddress->ToString()));
+                       SysTryReturnResult(NID_NET, pLocalAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
-               ret = connection_profile_set_ip_address(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, pLocalAddr.get());
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_ip_address() is %d", ret);
-       }
-       else
-       {
-               ret = connection_profile_set_ip_config_type(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, CONNECTION_IP_CONFIG_TYPE_DYNAMIC);
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_ip_config_type() is %d", ret);
-       }
+                       ret = connection_profile_set_ip_address(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, pLocalAddr.get());
+                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                                       "A system error has been occurred. The return value from connection_profile_set_ip_address() is %d", ret);
+               }
+               else
+               {
+                       ret = connection_profile_set_ip_config_type(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, CONNECTION_IP_CONFIG_TYPE_DYNAMIC);
+                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                                       "A system error has been occurred. The return value from connection_profile_set_ip_config_type() is %d", ret);
+               }
 
-       if (__pPrimaryDnsAddress != null)
-       {
-               pPrimaryDnsAddr.reset(_StringConverter::CopyToCharArrayN(__pPrimaryDnsAddress->ToString()));
-               SysTryReturnResult(NID_NET, pPrimaryDnsAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+               if (__pPrimaryDnsAddress != null)
+               {
+                       pPrimaryDnsAddr.reset(_StringConverter::CopyToCharArrayN(__pPrimaryDnsAddress->ToString()));
+                       SysTryReturnResult(NID_NET, pPrimaryDnsAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
-               ret = connection_profile_set_dns_address(profileHandle, 1, CONNECTION_ADDRESS_FAMILY_IPV4, pPrimaryDnsAddr.get());
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_dns_address() is %d", ret);
-       }
+                       ret = connection_profile_set_dns_address(profileHandle, 1, CONNECTION_ADDRESS_FAMILY_IPV4, pPrimaryDnsAddr.get());
+                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                                       "A system error has been occurred. The return value from connection_profile_set_dns_address() is %d", ret);
+               }
 
-       if (__pSecondaryDnsAddress != null)
-       {
-               pSecondaryDnsAddr.reset(_StringConverter::CopyToCharArrayN(__pSecondaryDnsAddress->ToString()));
-               SysTryReturnResult(NID_NET, pSecondaryDnsAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+               if (__pSecondaryDnsAddress != null)
+               {
+                       pSecondaryDnsAddr.reset(_StringConverter::CopyToCharArrayN(__pSecondaryDnsAddress->ToString()));
+                       SysTryReturnResult(NID_NET, pSecondaryDnsAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
-               ret = connection_profile_set_dns_address(profileHandle, 2, CONNECTION_ADDRESS_FAMILY_IPV4, pSecondaryDnsAddr.get());
-               SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                               "A system error has been occurred. The return value from connection_profile_set_dns_address() is %d", ret);
+                       ret = connection_profile_set_dns_address(profileHandle, 2, CONNECTION_ADDRESS_FAMILY_IPV4, pSecondaryDnsAddr.get());
+                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                                       "A system error has been occurred. The return value from connection_profile_set_dns_address() is %d", ret);
+               }
        }
 
        if (__pProxyAddress != null)
@@ -838,10 +853,18 @@ _NetAccountInfoImpl::ConvertToProfileInfo(void* pProfileHandle) const
                        SysTryReturnResult(NID_NET, pProxyAddr != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
                        ret = connection_profile_set_proxy_address(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, pProxyAddr.get());
-                       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
-                                       "A system error has been occurred. The return value from connection_profile_set_proxy_address() is %d", ret);
                }
+               else
+               {
+                       ret = connection_profile_set_proxy_address(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, null);
+               }
+       }
+       else
+       {
+               ret = connection_profile_set_proxy_address(profileHandle, CONNECTION_ADDRESS_FAMILY_IPV4, null);
        }
+       SysTryReturnResult(NID_NET, ret == CONNECTION_ERROR_NONE, E_SYSTEM,
+                       "A system error has been occurred. The return value from connection_profile_set_proxy_address() is %d", ret);
 
        return r;
 }