new Lazy<WiFiManagerImpl>(() => new WiFiManagerImpl());
private TizenSynchronizationContext context = new TizenSynchronizationContext();
-
+
private Dictionary<IntPtr, Interop.WiFi.VoidCallback> _callback_map =
new Dictionary<IntPtr, Interop.WiFi.VoidCallback>();
-
+
private int _requestId = 0;
private string _macAddress;
int ret = Interop.WiFi.GetForeachFoundSpecificAPs(GetSafeHandle(), callback, IntPtr.Zero);
CheckReturnValue(ret, "GetForeachFoundSpecificAPs", PrivilegeNetworkGet);
-
+
return apList;
}
task.SetException(e);
}
}, null);
-
+
return task.Task;
}
Log.Info(Globals.LogTag, "Interop.WiFi.Deactivate");
try
{
- int ret = Interop.WiFi.Deactivate(GetSafeHandle(), _callback_map[id], id);
+ int ret = (int)WiFiError.None;
+ lock (_callback_map)
+ {
+ ret = Interop.WiFi.Deactivate(GetSafeHandle(), _callback_map[id], id);
+ }
CheckReturnValue(ret, "Deactivate", "");
}
catch (Exception e)
}
}, null);
- return task.Task;
+ return task.Task;
}
internal Task ScanAsync()
Log.Info(Globals.LogTag, "Interop.WiFi.Scan");
try
{
- int ret = Interop.WiFi.Scan(GetSafeHandle(), _callback_map[id], id);
+ int ret = (int)WiFiError.None;
+ lock (_callback_map)
+ {
+ ret = Interop.WiFi.Scan(GetSafeHandle(), _callback_map[id], id);
+ }
CheckReturnValue(ret, "Scan", "");
}
catch (Exception e)
Log.Info(Globals.LogTag, "Interop.WiFi.ScanSpecificAPAsync");
try
{
- int ret = Interop.WiFi.ScanSpecificAP(GetSafeHandle(), essid, _callback_map[id], id);
+ int ret = (int)WiFiError.None;
+ lock (_callback_map)
+ {
+ ret = Interop.WiFi.ScanSpecificAP(GetSafeHandle(), essid, _callback_map[id], id);
+ }
CheckReturnValue(ret, "ScanSpecificAP", "");
}
catch (Exception e)
Log.Info(Globals.LogTag, "Interop.WiFi.BssidScan");
try
{
- int ret = Interop.WiFi.BssidScan(GetSafeHandle(), _callback_map[id], id);
+ int ret = (int)WiFiError.None;
+ lock (_callback_map)
+ {
+ ret = Interop.WiFi.BssidScan(GetSafeHandle(), _callback_map[id], id);
+ }
CheckReturnValue(ret, "BssidScan", "");
}
catch (Exception e)