--- /dev/null
+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
}\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
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);