Add GenerateWpsPinNumber 80/282880/3
authorcheoleun moon <chleun.moon@samsung.com>
Thu, 13 Oct 2022 01:39:47 +0000 (10:39 +0900)
committercheoleun moon <chleun.moon@samsung.com>
Thu, 13 Oct 2022 01:42:21 +0000 (10:42 +0900)
Change-Id: I395ae6170608f258dea243b4f87696ce1e3e04d5

SettingWiFi/SettingWiFi/controller/Interop/WiFi.cs [new file with mode: 0644]
SettingWiFi/SettingWiFi/controller/WiFi.cs
SettingWiFi/SettingWiFi/view/WPSConnectPage.cs
packaging/org.tizen.cssetting-wifi-1.0.0.tpk [changed mode: 0755->0644]

diff --git a/SettingWiFi/SettingWiFi/controller/Interop/WiFi.cs b/SettingWiFi/SettingWiFi/controller/Interop/WiFi.cs
new file mode 100644 (file)
index 0000000..486a1de
--- /dev/null
@@ -0,0 +1,21 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Interop
+{
+    internal static class WiFi
+    {
+        [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_initialize")]
+        internal static extern int Initialize(out IntPtr wifi);
+        [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_deinitialize")]
+        internal static extern int Deinitialize(IntPtr wifi);
+        [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_get_wps_generated_pin")]
+        internal static extern int GetWpsGeneratedPin(IntPtr wifi, out string wpsPin);
+    }
+
+    internal static class Libraries
+    {
+        public const string WiFi = "libcapi-network-wifi-manager.so.1";
+    }
+
+}
\ No newline at end of file
index f781bb81039930d2c07607323a22235b3b278c01..ed30bfad2b5e031761b93c3af250e588023df0af 100755 (executable)
@@ -331,6 +331,31 @@ namespace SettingWiFi
             }\r
             return WiFiState.Disconnected;\r
         }\r
+\r
+        public string GenerateWpsPinNumber()\r
+        {\r
+            IntPtr wifiHandle;\r
+            int ret = Interop.WiFi.Initialize(out wifiHandle);\r
+            if (ret != 0)\r
+            {\r
+                Error("Interop.WiFI.Initialize() fails. ret[" + ret + "]");\r
+                return "";\r
+            }\r
+            string wpsPin = "";\r
+            ret = Interop.WiFi.GetWpsGeneratedPin(wifiHandle, out wpsPin);\r
+            if (ret != 0)\r
+            {\r
+                Error("Interop.WiFI.GetWpsGeneratedPin() fails. ret[" + ret + "]");\r
+            }\r
+\r
+            ret = Interop.WiFi.Deinitialize(wifiHandle);\r
+            if (ret != 0)\r
+            {\r
+                Error("Interop.WiFI.GetWpsGeneratedPin() fails. ret[" + ret + "]");\r
+            }\r
+\r
+            return wpsPin;\r
+        }\r
     }\r
 \r
     internal class WiFiStateChangedEventArgs\r
index 5be5f3ef67462af0877ed948968aa3d8ebe65799..23d482e7032d5a58689137e71cd666ed1d40080c 100644 (file)
@@ -271,8 +271,8 @@ namespace SettingWiFi
 
         private void OnPinMethodClicked(object source, ClickedEventArgs args)
         {
-            //GeneratePinNumber(); // todo
-            string pin = "1234";
+            string pin = mWifi.GenerateWpsPinNumber();
+            Debug("Generated WPS Pin number: " + pin);
             ConnectWpsPin(pin);
 
             var page = new WpsPinWaitPage(mWifi);
old mode 100755 (executable)
new mode 100644 (file)
index ec7dc40..e45857e
Binary files a/packaging/org.tizen.cssetting-wifi-1.0.0.tpk and b/packaging/org.tizen.cssetting-wifi-1.0.0.tpk differ