using System;
using System.Threading.Tasks;
using System.Collections.Generic;
+using Tizen.Applications;
namespace Tizen.Network.WiFi
{
/// <summary>
- /// A class for managing the network information of the access point(AP).
+ /// A class for managing the network information of the access point (AP).
/// </summary>
/// <since_tizen> 3 </since_tizen>
public class WiFiAP : IDisposable
private WiFiSecurity _security;
private bool _disposed = false;
+ private TizenSynchronizationContext context = new TizenSynchronizationContext();
+ private static TizenSynchronizationContext s_context = new TizenSynchronizationContext();
+
/// <summary>
- /// The network information of the access point(AP).
+ /// The network information of the access point (AP).
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <value>WiFiNetwork instance containing network information of AP.</value>
+ /// <value>The WiFiNetwork instance containing the network information of the AP.</value>
public WiFiNetwork NetworkInformation
{
get
}
/// <summary>
- /// The security information of the access point(AP).
+ /// The security information of the access point (AP).
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <value>WiFiSecurity instance containing security information of AP.</value>
+ /// <value>The WiFiSecurity instance containing security information of the AP.</value>
public WiFiSecurity SecurityInformation
{
get
/// <param name="essid">The Extended Service Set Identifier of the access point.</param>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ArgumentNullException">Thrown when Essid is passed as null.</exception>
- /// <exception cref="ArgumentException">Thrown when it is failed due to an invalid parameter.</exception>
+ /// <exception cref="ArgumentNullException">Thrown when the ESSID is passed as null.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="InvalidOperationException">Thrown when it is failed due to invalid operation.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public WiFiAP(string essid)
{
Log.Debug(Globals.LogTag, "New WiFiAP. Essid: " + essid);
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="essid">The Extended Service Set Identifier of the access point.</param>
- /// <param name="hidden">The value to set hidden AP</param>
+ /// <param name="hidden">The value to set a hidden AP.</param>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ArgumentNullException">Thrown when Essid is passed as null.</exception>
- /// <exception cref="ArgumentException">Thrown when it is failed due to an invalid parameter.</exception>
+ /// <exception cref="ArgumentNullException">Thrown when the ESSID is passed as null.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="InvalidOperationException">Thrown when it is failed due to invalid operation.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public WiFiAP(string essid, bool hidden)
{
createHandle(essid, hidden);
Initialize();
}
+ /// <summary>
+ /// Destroy the WiFiAP object
+ /// </summary>
~WiFiAP()
{
Dispose(false);
/// <since_tizen> 3 </since_tizen>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ObjectDisposedException">Thrown when object instance is disposed or released.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public void Refresh()
{
Log.Debug(Globals.LogTag, "Refresh");
/// Connects the access point asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <returns> A task indicating whether the Connect method is done or not.</returns>
+ /// <returns> A task indicating whether the connect method is done or not.</returns>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.set</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ObjectDisposedException">Thrown when object instance is disposed or released.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public Task ConnectAsync()
{
- Log.Debug(Globals.LogTag, "ConnectAsync");
+ Log.Info(Globals.LogTag, "ConnectAsync");
if (_disposed)
{
throw new ObjectDisposedException("Invalid AP instance (Object may have been disposed or released)");
id = (IntPtr)_requestId++;
_callback_map[id] = (error, key) =>
{
- Log.Debug(Globals.LogTag, "Connecting finished : " + (WiFiError)error);
+ Log.Info(Globals.LogTag, "ConnectAsync done " + (WiFiError)error);
if (error != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Error occurs during WiFi connecting, " + (WiFiError)error);
task.SetException(new InvalidOperationException("Error occurs during WiFi connecting, " + (WiFiError)error));
}
- task.SetResult(true);
+ else
+ {
+ task.SetResult(true);
+ }
lock (_callback_map)
{
_callback_map.Remove(key);
};
}
- int ret = Interop.WiFi.Connect(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
- if (ret != (int)WiFiError.None)
+ context.Post((x) =>
{
- Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
- WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
- }
+ Log.Info(Globals.LogTag, "Interop.WiFi.Connect");
+ int ret = Interop.WiFi.Connect(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
+ if (ret != (int)WiFiError.None)
+ {
+ Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
+ WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
+ }
+ }, null);
return task.Task;
}
/// <summary>
- /// Connects the access point with WPS asynchronously.
+ /// Connects the access point with the WPS asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <param name="info">A WpsInfo instance which is of type WpsPbcInfo or WpsPinInfo.</param>
+ /// <param name="info">A WpsInfo instance which is type of WpsPbcInfo or WpsPinInfo.</param>
/// <returns>A task indicating whether the ConnectWps method is done or not.</returns>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.profile</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ObjectDisposedException">Thrown when object instance is disposed or released.</exception>
- /// <exception cref="ArgumentNullException">Thrown when WpsPinInfo object is constructed with null pin.</exception>
- /// <exception cref="ArgumentOutOfRangeException">Thrown when WpsPinInfo object is constructed with pin which is an empty string or more than 7 characters.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
+ /// <exception cref="ArgumentNullException">Thrown when the WpsPinInfo object is constructed with a null pin.</exception>
+ /// <exception cref="ArgumentOutOfRangeException">Thrown when the WpsPinInfo object is constructed with a pin which is an empty string or more than 7 characters.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public Task ConnectWpsAsync(WpsInfo info)
{
- Log.Debug(Globals.LogTag, "ConnectWpsAsync");
+ Log.Info(Globals.LogTag, "ConnectWpsAsync");
if (_disposed)
{
throw new ObjectDisposedException("Invalid AP instance (Object may have been disposed or released)");
id = (IntPtr)_requestId++;
_callback_map[id] = (error, key) =>
{
- Log.Debug(Globals.LogTag, "Connecting by WPS finished");
+ Log.Info(Globals.LogTag, "ConnectWpsAsync done");
if (error != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Error occurs during WiFi connecting, " + (WiFiError)error);
task.SetException(new InvalidOperationException("Error occurs during WiFi connecting, " + (WiFiError)error));
}
- task.SetResult(true);
+ else
+ {
+ task.SetResult(true);
+ }
lock (_callback_map)
{
_callback_map.Remove(key);
};
}
- int ret = -1;
- if (info.GetType() == typeof(WpsPbcInfo))
- {
- ret = Interop.WiFi.ConnectByWpsPbc(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
- }
-
- else if (info.GetType() == typeof(WpsPinInfo))
+ context.Post((x) =>
{
- WpsPinInfo pinInfo = (WpsPinInfo)info;
- if (pinInfo.GetWpsPin() == null)
+ int ret = -1;
+ if (info.GetType() == typeof(WpsPbcInfo))
{
- throw new ArgumentNullException("Wps pin should not be null");
+ Log.Info(Globals.LogTag, "Interop.WiFi.ConnectByWpsPb");
+ ret = Interop.WiFi.ConnectByWpsPbc(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
}
-
- if (pinInfo.GetWpsPin().Length == 0 || pinInfo.GetWpsPin().Length > 8)
+ else if (info.GetType() == typeof(WpsPinInfo))
{
- throw new ArgumentOutOfRangeException("Wps pin should not be empty or more than 7 characters");
- }
+ WpsPinInfo pinInfo = (WpsPinInfo)info;
+ if (pinInfo.GetWpsPin() == null)
+ {
+ throw new ArgumentNullException("Wps pin should not be null");
+ }
- ret = Interop.WiFi.ConnectByWpsPin(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, pinInfo.GetWpsPin(), _callback_map[id], id);
- }
+ if (pinInfo.GetWpsPin().Length == 0 || pinInfo.GetWpsPin().Length > 8)
+ {
+ throw new ArgumentOutOfRangeException("Wps pin should not be empty or more than 7 characters");
+ }
- if (ret != (int)WiFiError.None)
- {
- Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
- WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
- }
+ Log.Info(Globals.LogTag, "Interop.WiFi.ConnectByWpsPin");
+ ret = Interop.WiFi.ConnectByWpsPin(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, pinInfo.GetWpsPin(), _callback_map[id], id);
+ }
+
+ if (ret != (int)WiFiError.None)
+ {
+ Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
+ WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
+ }
+ }, null);
return task.Task;
}
/// <summary>
- /// Connects the access point with WPS without ssid asynchronously.
+ /// Connects the access point with WPS without SSID asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="info">A WpsInfo instance which is of type WpsPbcInfo or WpsPinInfo.</param>
/// <privilege>http://tizen.org/privilege/network.set</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
/// <privilege>http://tizen.org/privilege/network.profile</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ArgumentNullException">Thrown when WpsPinInfo object is constructed with null pin.</exception>
- /// <exception cref="ArgumentOutOfRangeException">Thrown when WpsPinInfo object is constructed with pin which is not of 4 or 8 characters long.</exception>
+ /// <exception cref="ArgumentNullException">Thrown when the WpsPinInfo object is constructed with a null pin.</exception>
+ /// <exception cref="ArgumentOutOfRangeException">Thrown when the WpsPinInfo object is constructed with a pin which is not of 4 or 8 characters long.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public static Task<WiFiAP> ConnectWpsWithoutSsidAsync(WpsInfo info)
{
+ Log.Info(Globals.LogTag, "ConnectWpsWithoutSsidAsync");
TaskCompletionSource<WiFiAP> task = new TaskCompletionSource<WiFiAP>();
IntPtr id;
lock (s_callbackMap)
id = (IntPtr)s_requestId++;
s_callbackMap[id] = (error, key) =>
{
- Log.Debug(Globals.LogTag, "Connecting by WPS finished");
+ Log.Info(Globals.LogTag, "ConnectWpsWithoutSsidAsync done");
if (error != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Error occurs during WiFi connecting, " + (WiFiError)error);
task.SetException(new InvalidOperationException("Error occurs during WiFi connecting, " + (WiFiError)error));
}
- WiFiAP ap = WiFiManagerImpl.Instance.GetConnectedAP();
- task.SetResult(ap);
+ else
+ {
+ WiFiAP ap = WiFiManagerImpl.Instance.GetConnectedAP();
+ task.SetResult(ap);
+ }
lock (s_callbackMap)
{
s_callbackMap.Remove(key);
};
}
- int ret = -1;
- if (info.GetType() == typeof(WpsPbcInfo))
- {
- ret = Interop.WiFi.ConnectByWpsPbcWithoutSsid(WiFiManagerImpl.Instance.GetSafeHandle(), s_callbackMap[id], id);
- }
-
- else if (info.GetType() == typeof(WpsPinInfo))
+ s_context.Post((x) =>
{
- WpsPinInfo pinInfo = (WpsPinInfo)info;
- if (pinInfo.GetWpsPin() == null)
+ int ret = -1;
+ if (info.GetType() == typeof(WpsPbcInfo))
{
- throw new ArgumentNullException("Wps pin should not be null");
+ Log.Info(Globals.LogTag, "Interop.WiFi.ConnectByWpsPbcWithoutSsid");
+ ret = Interop.WiFi.ConnectByWpsPbcWithoutSsid(WiFiManagerImpl.Instance.GetSafeHandle(), s_callbackMap[id], id);
}
-
- if (pinInfo.GetWpsPin().Length != 4 && pinInfo.GetWpsPin().Length != 8)
+ else if (info.GetType() == typeof(WpsPinInfo))
{
- throw new ArgumentOutOfRangeException("Wps pin should be of 4 or 8 characters long");
- }
+ WpsPinInfo pinInfo = (WpsPinInfo)info;
+ if (pinInfo.GetWpsPin() == null)
+ {
+ throw new ArgumentNullException("Wps pin should not be null");
+ }
- ret = Interop.WiFi.ConnectByWpsPinWithoutSsid(WiFiManagerImpl.Instance.GetSafeHandle(), pinInfo.GetWpsPin(), s_callbackMap[id], id);
- }
+ if (pinInfo.GetWpsPin().Length != 4 && pinInfo.GetWpsPin().Length != 8)
+ {
+ throw new ArgumentOutOfRangeException("Wps pin should be of 4 or 8 characters long");
+ }
- if (ret != (int)WiFiError.None)
- {
- Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
- WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle());
- }
+ Log.Info(Globals.LogTag, "Interop.WiFi.ConnectByWpsPinWithoutSsid");
+ ret = Interop.WiFi.ConnectByWpsPinWithoutSsid(WiFiManagerImpl.Instance.GetSafeHandle(), pinInfo.GetWpsPin(), s_callbackMap[id], id);
+ }
+
+ if (ret != (int)WiFiError.None)
+ {
+ Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret);
+ WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle());
+ }
+ }, null);
return task.Task;
}
/// Disconnects the access point asynchronously.
/// </summary>
/// <since_tizen> 3 </since_tizen>
- /// <returns> A task indicating whether the Disconnect method is done or not.</returns>
+ /// <returns> A task indicating whether the disconnect method is done or not.</returns>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.set</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ObjectDisposedException">Thrown when object instance is disposed or released.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public Task DisconnectAsync()
{
Log.Debug(Globals.LogTag, "DisconnectAsync");
id = (IntPtr)_requestId++;
_callback_map[id] = (error, key) =>
{
- Log.Debug(Globals.LogTag, "Disconnecting finished");
+ Log.Info(Globals.LogTag, "DisconnectAsync done");
if (error != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Error occurs during WiFi disconnecting, " + (WiFiError)error);
task.SetException(new InvalidOperationException("Error occurs during WiFi disconnecting, " + (WiFiError)error));
}
- task.SetResult(true);
+ else
+ {
+ task.SetResult(true);
+ }
lock (_callback_map)
{
_callback_map.Remove(key);
}
};
}
- int ret = Interop.WiFi.Disconnect(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
- if (ret != (int)WiFiError.None)
+
+ context.Post((x) =>
{
- Log.Error(Globals.LogTag, "Failed to disconnect wifi, Error - " + (WiFiError)ret);
- WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
- }
+ Log.Info(Globals.LogTag, "Interop.WiFi.Disconnect");
+ int ret = Interop.WiFi.Disconnect(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle, _callback_map[id], id);
+ if (ret != (int)WiFiError.None)
+ {
+ Log.Error(Globals.LogTag, "Failed to disconnect wifi, Error - " + (WiFiError)ret);
+ WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
+ }
+ }, null);
+
return task.Task;
}
/// <summary>
- /// Deletes the information of stored access point and disconnects it when it is connected.<br>
- /// If an AP is connected, then connection information will be stored. This information is used when a connection to that AP is established automatically.
+ /// Deletes the information of a stored access point and disconnects it when the AP is connected.
+ /// If an AP is connected, then the connection information will be stored. This information is used when a connection to that AP is established automatically.
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <feature>http://tizen.org/feature/network.wifi</feature>
/// <privilege>http://tizen.org/privilege/network.profile</privilege>
/// <privilege>http://tizen.org/privilege/network.get</privilege>
- /// <exception cref="NotSupportedException">Thrown when WiFi is not supported.</exception>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
/// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
- /// <exception cref="ObjectDisposedException">Thrown when object instance is disposed or released.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
/// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
- /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception>
- /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception>
+ /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
public void ForgetAP()
{
Log.Debug(Globals.LogTag, "ForgetAP");
WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
}
}
- }
+
+ /// <summary>
+ /// Update the information of a stored access point.
+ /// When a AP information is changed, the change will not be applied until this method is called.
+ /// </summary>
+ /// <since_tizen> 5 </since_tizen>
+ /// <feature>http://tizen.org/feature/network.wifi</feature>
+ /// <privilege>http://tizen.org/privilege/network.profile</privilege>
+ /// <privilege>http://tizen.org/privilege/network.get</privilege>
+ /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
+ /// <exception cref="UnauthorizedAccessException">Thrown when permission is denied.</exception>
+ /// <exception cref="ObjectDisposedException">Thrown when the object instance is disposed or released.</exception>
+ /// <exception cref="OutOfMemoryException">Thrown when the system is out of memory.</exception>
+ /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
+ public void Update()
+ {
+ Log.Debug(Globals.LogTag, "Update");
+ if (_disposed)
+ {
+ throw new ObjectDisposedException("Invalid AP instance (Object may have been disposed or released)");
+ }
+ int ret = Interop.WiFi.UpdateAP(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle);
+ if (ret != (int)WiFiError.None)
+ {
+ Log.Error(Globals.LogTag, "Failed to update AP, Error - " + (WiFiError)ret);
+ WiFiErrorFactory.ThrowWiFiException(ret, WiFiManagerImpl.Instance.GetSafeHandle().DangerousGetHandle(), _apHandle);
+ }
+ }
+ }
/// <summary>
- /// An abstract class which is used to represent WPS information of access point.
+ /// An abstract class which is used to represent the WPS information of the access point.
/// </summary>
/// <since_tizen> 3 </since_tizen>
public abstract class WpsInfo
}
/// <summary>
- /// A class which is used to represent WPS PBC information of access point.
+ /// A class which is used to represent WPS PBC information of the access point.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WpsPbcInfo : WpsInfo
{
}
/// <summary>
- /// A class which is used to represent WPS PIN information of access point.
+ /// A class which is used to represent WPS PIN information of the access point.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class WpsPinInfo : WpsInfo
{
private string _pin;