public async Task <WindowsUpdateRingState> GetRingAsync() { var request = new Message.GetWindowsUpdatePolicyRequest(); var response = await _systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatePolicyResponse; WindowsUpdateRingState state = new WindowsUpdateRingState(); state.ring = WindowsUpdateRingState.RingFromJsonString(response.data.ring); state.settingsPriority = SettingsPriorityFromString(response.data.policy.source); return(state); }
public async Task SetRingAsync(WindowsUpdateRingState userDesiredState) { // Construct the request and send it... Message.Policy policy = new Message.Policy(); policy.source = Message.PolicySource.Local; policy.sourcePriorities = userDesiredState.settingsPriority == SettingsPriority.Local ? PolicyHelpers.PriorityLocal : PolicyHelpers.PriorityRemote; Message.SetWindowsUpdatePolicyRequest request = new Message.SetWindowsUpdatePolicyRequest(); request.ApplyFromDeviceTwin = WindowsUpdatePolicyDataContract.JsonYes; request.data = new Message.WindowsUpdatePolicyConfiguration(); request.data.activeFields = (uint)Message.ActiveFields.Ring; request.data.ring = WindowsUpdateRingState.RingToJsonString(userDesiredState.ring); request.data.policy = policy; request.ReportToDeviceTwin = Constants.JsonValueUnspecified; // Keep whatever already stored. await _systemConfiguratorProxy.SendCommandAsync(request); await ReportToDeviceTwin(); }
public async Task SetWindowsUpdateRingAsync(WindowsUpdateRingState state) { await _windowsUpdatePolicyHandler.SetRingAsync(state); }