[Tizen.Network.Connection][Tizen.Network.WiFi][TCSACR-167] Add API to get DHCP lease...
authorSeonah Moon <31679495+SeonahMoon@users.noreply.github.com>
Thu, 23 Aug 2018 06:47:15 +0000 (15:47 +0900)
committerchleun-moon <32117100+chleun-moon@users.noreply.github.com>
Thu, 23 Aug 2018 06:47:15 +0000 (15:47 +0900)
* Add API to get DHCP lease duration

* Add API to get Wi-Fi scan state

* Revert "Add API to get Wi-Fi scan state"

This reverts commit 621d5fcc88eed7b79b36a1c59e3d54c3f8641759.

src/Tizen.Network.Connection/Interop/Interop.Connection.cs
src/Tizen.Network.Connection/Tizen.Network.Connection/IAddressInformation.cs
src/Tizen.Network.WiFi/Interop/Interop.WiFi.cs
src/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAddressInformation.cs

index f60f5e7..c0d4a8d 100755 (executable)
@@ -207,6 +207,9 @@ internal static partial class Interop
         [DllImport(Libraries.Connection, EntryPoint = "connection_profile_get_dhcp_server_address")]
         public static extern int GetDhcpServerAddress(IntPtr profileHandle, AddressFamily family, out string dhcpServerAddress);
 
+        [DllImport(Libraries.Connection, EntryPoint = "connection_profile_get_dhcp_lease_duration")]
+        public static extern int GetDhcpLeaseDuration(IntPtr profileHandle, AddressFamily family, out int dhcpLeaseDuration);
+
         [DllImport(Libraries.Connection, EntryPoint = "connection_profile_refresh")]
         public static extern int Refresh(IntPtr profileHandle);
 
index 176dd38..ec3ec8f 100755 (executable)
@@ -116,6 +116,13 @@ namespace Tizen.Network.Connection
         /// <since_tizen> 4 </since_tizen>
         /// <value>Server address of the DHCP.</value>
         System.Net.IPAddress DhcpServerAddress { get; }
+
+        /// <summary>
+        /// The DHCP lease duration. It is only supported for the IPV4 address family.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// <value>Lease duration of the DHCP.</value>
+        int DhcpLeaseDuration { get; }
     }
 
     internal class ConnectionAddressInformation : IAddressInformation
@@ -357,5 +364,20 @@ namespace Tizen.Network.Connection
             else
                 return System.Net.IPAddress.Parse(DefaultIPv6);
         }
+
+        public int DhcpLeaseDuration
+        {
+            get
+            {
+                int leaseDuration;
+                int ret = Interop.ConnectionProfile.GetDhcpLeaseDuration(_profileHandle, _family, out leaseDuration);
+                if ((ConnectionError)ret != ConnectionError.None)
+                {
+                    Log.Error(Globals.LogTag, "It failed to get the DHCP lease duration, " + (ConnectionError)ret);
+                    leaseDuration = 0;
+                }
+                return leaseDuration;
+            }
+        }
     }
 }
index 06ff674..35c108e 100755 (executable)
@@ -172,6 +172,8 @@ internal static partial class Interop
             internal static extern int SetGatewayAddress(SafeWiFiAPHandle ap, int addressFamily, string gatewayAddress);
             [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_dhcp_server_address")]
             internal static extern int GetDhcpServerAddress(SafeWiFiAPHandle ap, AddressFamily addressFamily, out string dhcpServer);
+            [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_dhcp_lease_duration")]
+            internal static extern int GetDhcpLeaseDuration(SafeWiFiAPHandle ap, AddressFamily addressFamily, out int dhcpLeaseDuration);
             [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_proxy_address")]
             internal static extern int GetProxyAddress(SafeWiFiAPHandle ap, int addressFamily, out IntPtr proxyAddress);
             [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_proxy_address")]
index 2273f44..5b43e30 100755 (executable)
@@ -221,6 +221,26 @@ namespace Tizen.Network.WiFi
             }
         }
 
+        /// <summary>
+        /// DHCP lease duration. It is only supported for IPv4 address family.
+        /// </summary>
+        /// <value>Represents DHCP lease duration.</value>
+        public int  DhcpLeaseDuration
+        {
+            get
+            {
+                int leaseDuration;
+                int ret = Interop.WiFi.AP.GetDhcpLeaseDuration(_handle, AddressFamily.IPv4, out leaseDuration);
+                if (ret != (int)WiFiError.None)
+                {
+                    Log.Error(Globals.LogTag, "Failed to get DHCP lease duration, Error - " + (WiFiError)ret);
+                    return 0;
+                }
+
+                return leaseDuration;
+            }
+        }
+
         private System.Net.IPAddress ParseIPAddress(int ret, IntPtr addrPtr)
         {
             if (ret != (int)WiFiError.None)