private static IAuthenticator CreateSkipAuthenticator(IDevice device, AuthenticationCredential credential) { Type deviceType = device.GetType(); if (deviceType == typeof(JediOmniDevice)) { return(new JediOmniSkipAuthenticator(device, credential)); } throw new ArgumentException($"{deviceType.Name} does not have a SkipAuthenticator implementation."); }
/// <summary> /// Creates an <see cref="IAuthenticator" /> for the specified <see cref="IDevice" />. /// </summary> /// <param name="device">The device.</param> /// <param name="credential">The credential.</param> /// <param name="provider">The Provider.</param> /// <returns><see cref="IAuthenticator" /></returns> public static IAuthenticator Create(IDevice device, AuthenticationCredential credential, AuthenticationProvider provider) { switch (provider) { case AuthenticationProvider.Skip: return(CreateSkipAuthenticator(device, credential)); default: return(_instance.FactoryCreate(device, credential, provider)); } }
/// <summary> /// Creates an <see cref="IAuthenticator" /> for the specified <see cref="IDevice" /> and <see cref="PluginExecutionData" />. /// Handles setting of <see cref="BadgeBoxInfo" /> if <see cref="AuthenticationProvider" /> is Card. /// </summary> /// <param name="deviceId">The device identifier.</param> /// <param name="device">The device.</param> /// <param name="provider">The provider.</param> /// <param name="pluginExecutionData">The Execution data.</param> /// <returns><see cref="IAuthenticator" /></returns> public static IAuthenticator Create(string deviceId, IDevice device, AuthenticationProvider provider, PluginExecutionData pluginExecutionData) { AuthenticationCredential authCredential = null; switch (provider) { case AuthenticationProvider.Card: authCredential = new AuthenticationCredential(pluginExecutionData, deviceId, device.Address); break; default: authCredential = new AuthenticationCredential(pluginExecutionData.Credential); break; } return(Create(device, authCredential, provider)); }
/// <summary> /// Creates an <see cref="IAuthenticator" /> for the specified <see cref="IDevice" />. /// </summary> /// <param name="device">The device.</param> /// <param name="credential">The credential.</param> /// <param name="provider">The Provider.</param> /// <returns><see cref="IAuthenticator" /></returns> public static IAuthenticator Create(IDevice device, NetworkCredential credential, AuthenticationProvider provider) { AuthenticationCredential authCredential = new AuthenticationCredential(credential); return(Create(device, authCredential, provider)); }
/// <summary> /// Creates an <see cref="IAuthenticator" /> for the specified <see cref="IDevice" /> /// with a default AuthenticationProvider.Auto. /// </summary> /// <param name="device">The device.</param> /// <param name="credential">The credential.</param> /// <returns><see cref="IAuthenticator" /></returns> public static IAuthenticator Create(IDevice device, AuthenticationCredential credential) { return(Create(device, credential, AuthenticationProvider.Auto)); }
/// <summary> /// Constructs a new instance of <see cref="AuthenticatorBase" /> /// </summary> /// <param name="credential"></param> /// <param name="provider"></param> protected AuthenticatorBase(AuthenticationCredential credential, AuthenticationProvider provider) { Credential = credential; Provider = provider; }