internal Task SetDefaultCellularProfile(CellularServiceType type, ConnectionProfile profile) { Log.Info(Globals.LogTag, "SetDefaultCellularProfile"); if (profile != null) { TaskCompletionSource <bool> task = new TaskCompletionSource <bool>(); IntPtr id; lock (_callback_map) { id = (IntPtr)_requestId++; _callback_map[id] = (error, key) => { Log.Info(Globals.LogTag, "SetDefaultCellularProfile done " + profile.Name); if (error != ConnectionError.None) { Log.Error(Globals.LogTag, "Error occurs during set default cellular profile, " + error); task.SetException(new InvalidOperationException("Error occurs during set default cellular profile, " + error)); } else { task.SetResult(true); } lock (_callback_map) { _callback_map.Remove(key); } }; } context.Post((x) => { Log.Info(Globals.LogTag, "Interop.Connection.SetDefaultCellularServiceProfileAsync " + profile.Name); try { int ret = Interop.Connection.SetDefaultCellularServiceProfileAsync(GetHandle(), (int)type, profile.ProfileHandle, _callback_map[id], id); if ((ConnectionError)ret != ConnectionError.None) { Log.Error(Globals.LogTag, "It failed to set default cellular profile, " + (ConnectionError)ret); ConnectionErrorFactory.CheckFeatureUnsupportedException(ret, "http://tizen.org/feature/network.telephony"); ConnectionErrorFactory.CheckHandleNullException(ret, (GetHandle() == IntPtr.Zero || profile.ProfileHandle == IntPtr.Zero), "Connection or Profile Handle may have been disposed or released"); ConnectionErrorFactory.ThrowConnectionException(ret); } } catch (Exception e) { Log.Error(Globals.LogTag, "Exception on SetDefaultCellularServiceProfileAsync\n" + e.ToString()); task.SetException(e); } }, null); return(task.Task); } else { throw new ArgumentNullException("Profile is null"); } }
internal ConnectionProfile GetDefaultCellularProfile(CellularServiceType type) { Log.Debug(Globals.LogTag, "GetDefaultCellularProfile"); IntPtr ProfileHandle; int ret = Interop.Connection.GetDefaultCellularServiceProfile(GetHandle(), (int)type, out ProfileHandle); if ((ConnectionError)ret != ConnectionError.None) { Log.Error(Globals.LogTag, "Error: " + ret); Log.Error(Globals.LogTag, "It failed to get default cellular profile, " + (ConnectionError)ret); ConnectionErrorFactory.CheckFeatureUnsupportedException(ret, "http://tizen.org/feature/network.telephony"); ConnectionErrorFactory.CheckPermissionDeniedException(ret, "(http://tizen.org/privilege/network.get)"); ConnectionErrorFactory.CheckHandleNullException(ret, (GetHandle() == IntPtr.Zero), "Connection Handle may have been disposed or released"); ConnectionErrorFactory.ThrowConnectionException(ret); } CellularProfile Profile = new CellularProfile(ProfileHandle); return Profile; }
internal Task SetDefaultCellularProfile(CellularServiceType type, ConnectionProfile profile) { Log.Debug(Globals.LogTag, "SetDefaultCellularProfile"); if (profile != null) { TaskCompletionSource <bool> task = new TaskCompletionSource <bool>(); Interop.Connection.ConnectionCallback Callback = (ConnectionError Result, IntPtr Data) => { if (Result != ConnectionError.None) { Log.Error(Globals.LogTag, "Error occurs during set default cellular profile, " + Result); task.SetException(new InvalidOperationException("Error occurs during set default cellular profile, " + Result)); } else { task.SetResult(true); } }; int ret = Interop.Connection.SetDefaultCellularServiceProfileAsync(GetHandle(), (int)type, profile.ProfileHandle, Callback, (IntPtr)0); if ((ConnectionError)ret != ConnectionError.None) { Log.Error(Globals.LogTag, "It failed to set default cellular profile, " + (ConnectionError)ret); ConnectionErrorFactory.CheckFeatureUnsupportedException(ret, "http://tizen.org/feature/network.telephony"); ConnectionErrorFactory.CheckHandleNullException(ret, (GetHandle() == IntPtr.Zero || profile.ProfileHandle == IntPtr.Zero), "Connection or Profile Handle may have been disposed or released"); ConnectionErrorFactory.ThrowConnectionException(ret); } return(task.Task); } else { throw new ArgumentNullException("Profile is null"); } }
/// <summary> /// Sets the default profile, which provides the given cellular service. /// </summary> /// <since_tizen> 3 </since_tizen> /// <param name="type">The cellular service type.</param> /// <param name="profile">The connection profile object.</param> /// <returns>A task indicates whether the SetDefaultCellularProfile method is done successfully or not.</returns> /// <privilege>http://tizen.org/privilege/network.get</privilege> /// <privilege>http://tizen.org/privilege/network.profile</privilege> /// <feature>http://tizen.org/feature/network.telephony</feature> /// <feature>http://tizen.org/feature/network.wifi</feature> /// <feature>http://tizen.org/feature/network.tethering.bluetooth</feature> /// <feature>http://tizen.org/feature/network.ethernet</feature> /// <exception cref="System.NotSupportedException">Thrown when a feature is not supported.</exception> /// <exception cref="System.UnauthorizedAccessException">Thrown when a permission is denied.</exception> /// <exception cref="System.ArgumentException">Thrown when a value is an invalid parameter.</exception> /// <exception cref="System.ArgumentNullException">Thrown when a value is null.</exception> /// <exception cref="System.OutOfMemoryException">Thrown when memory is not enough to continue execution.</exception> /// <exception cref="System.InvalidOperationException">Thrown when a connection or a profile instance is invalid or when a method fails due to invalid operation.</exception> public static Task SetDefaultCellularProfile(CellularServiceType type, ConnectionProfile profile) { Log.Debug(Globals.LogTag, "SetDefaultCellularProfile"); return(ConnectionInternalManager.Instance.SetDefaultCellularProfile(type, profile)); }
/// <summary> /// Gets the default profile, which provides the given cellular service. /// </summary> /// <since_tizen> 3 </since_tizen> /// <param name="type">The cellular service type.</param> /// <returns>Connection profile object.</returns> /// <privilege>http://tizen.org/privilege/network.get</privilege> /// <feature>http://tizen.org/feature/network.telephony</feature> /// <feature>http://tizen.org/feature/network.wifi</feature> /// <feature>http://tizen.org/feature/network.tethering.bluetooth</feature> /// <feature>http://tizen.org/feature/network.ethernet</feature> /// <exception cref="System.NotSupportedException">Thrown when a feature is not supported.</exception> /// <exception cref="System.UnauthorizedAccessException">Thrown when a permission is denied.</exception> /// <exception cref="System.ArgumentException">Thrown when a value is an invalid parameter.</exception> /// <exception cref="System.OutOfMemoryException">Thrown when memory is not enough to continue execution.</exception> /// <exception cref="System.InvalidOperationException">Thrown when a connection instance is invalid or when a method fails due to an invalid operation.</exception> public static ConnectionProfile GetDefaultCellularProfile(CellularServiceType type) { Log.Debug(Globals.LogTag, "GetDefaultCurrentProfile"); return(ConnectionInternalManager.Instance.GetDefaultCellularProfile(type)); }