/// <summary> /// Ctor. Only call if on Win10, otherwise a TypeLoadException occurs. See DesktopOsHelper.IsWin10 /// </summary> public WamBroker( CoreUIParent uiParent, ApplicationConfiguration appConfig, ICoreLogger logger, IWamPlugin testAadPlugin = null, IWamPlugin testmsaPlugin = null, IWamProxy wamProxy = null, IWebAccountProviderFactory webAccountProviderFactory = null, IAccountPickerFactory accountPickerFactory = null, IMsaPassthroughHandler msaPassthroughHandler = null) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _synchronizationContext = uiParent?.SynchronizationContext; _wamProxy = wamProxy ?? new WamProxy(_logger, _synchronizationContext); _parentHandle = GetParentWindow(uiParent); _webAccountProviderFactory = webAccountProviderFactory ?? new WebAccountProviderFactory(); _accountPickerFactory = accountPickerFactory ?? new AccountPickerFactory(); _aadPlugin = testAadPlugin ?? new AadPlugin(_wamProxy, _webAccountProviderFactory, _logger); _msaPlugin = testmsaPlugin ?? new MsaPlugin(_wamProxy, _webAccountProviderFactory, _logger); _msaPassthroughHandler = msaPassthroughHandler ?? new MsaPassthroughHandler(_logger, _msaPlugin, _wamProxy, _parentHandle); _wamOptions = appConfig.WindowsBrokerOptions ?? WindowsBrokerOptions.CreateDefault(); }
/// <summary> /// Ctor. Only call if on Win10, otherwise a TypeLoadException occurs. See DesktopOsHelper.IsWin10 /// </summary> public RuntimeBroker( CoreUIParent uiParent, ApplicationConfiguration appConfig, ICoreLogger logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _parentHandle = GetParentWindow(uiParent); _wamOptions = appConfig.WindowsBrokerOptions ?? WindowsBrokerOptions.CreateDefault(); if (_wamOptions.ListWindowsWorkAndSchoolAccounts) { throw new NotImplementedException("The new broker implementation does not yet support Windows account discovery (ListWindowsWorkAndSchoolAccounts option)"); } }