/// <summary> /// Enters the user name, password (and domain if applicable) on the device control panel. /// </summary> protected override void EnterUserNamePassword(bool enterDomain = false) { //Enter user name ControlPanel.Type(Credential.UserName); Pacekeeper.Sync(); string okCtlrs = "ok|mOkButton.*"; if (ControlPanel.WaitForControl(okCtlrs, StringMatch.Regex, TimeSpan.FromSeconds(5))) { string okButton = ControlPanel.GetControls().Contains("ok") ? "ok" : "mOkButton"; ControlPanel.Press(okButton); Pacekeeper.Sync(); // Check if domain field is expected if (enterDomain) { // Enter domain if populated if (!string.IsNullOrEmpty(Credential.Domain)) { ControlPanel.Type(Credential.Domain); Pacekeeper.Sync(); } //Tab to next control if (ControlPanel.WaitForControl(okButton, TimeSpan.FromSeconds(5))) { ControlPanel.Press(okButton); Pacekeeper.Sync(); } else { throw new DeviceWorkflowException($"Unable to press '{okButton}'"); } } //Enter password ControlPanel.Type(Credential.Password); Pacekeeper.Sync(); } else { throw new DeviceWorkflowException("Unable to press the Blueprint 'OK' button"); } }
/// <summary> /// Enters the email subject. /// </summary> /// <param name="subject">The subject.</param> public void EnterSubject(string subject) { if (!string.IsNullOrEmpty(subject)) { _controlPanel.WaitForDisplayedText("From:", StringMatch.Contains, TimeSpan.FromSeconds(6)); string subjBnt = _executionManager.GetButtonName("cSubject"); //"cSubjectXStr"; _controlPanel.Press(subjBnt); _executionManager.DeleteFieldData(); _controlPanel.TypeOnVirtualKeyboard(subject); Pacekeeper.Pause(); _controlPanel.Press(_executionManager.OkayButton); Pacekeeper.Pause(); } }
/// <summary> /// Initializes a new instance of the <see cref="JediOmniDssWorkflowApp" /> class. /// </summary> /// <param name="device">The device.</param> public JediOmniDssWorkflowApp(JediOmniDevice device) { if (device == null) { throw new ArgumentNullException(nameof(device)); } _device = device; _controlPanel = _device.ControlPanel; _masthead = new JediOmniMasthead(device); _launchHelper = new JediOmniLaunchHelper(device); _notificationPanel = new JediOmniNotificationPanel(device); _enhancedWorkflowApp = new DssEnhancedWorkflowApp(_controlPanel); _idleTimeoutOffset = device.PowerManagement.GetInactivityTimeout().Subtract(TimeSpan.FromSeconds(10)); _popupManager = new JediOmniPopupManager(device); _engine = new OxpdBrowserEngine(_device.ControlPanel, DssWorkflowResource.DssWorkflowJavaScript); Pacekeeper = new Pacekeeper(TimeSpan.Zero); }
/// <summary> /// Enters the user name and password on the device control panel. /// </summary> private void EnterUserNamePassword() { string label; try { label = ControlPanel.ActiveScreenLabel(); switch (label) { case "view_authentication_ldap_login": //Enter Username EnterText("ldap_login_username_edit", "view_ldap_login_username_touch", "ldap_ldap_login_username_keyboard.4", Credential.UserName); Pacekeeper.Sync(); //Enter Password EnterText("ldap_password_entry_password", "view_user_password_entry_password", "user_password_entry_password_keyboard.4", Credential.Password); break; case "view_authentication_window_login": //Enter Username EnterText("windows_login_username_entry", "view_windows_login_username_entry_username", "ldap_windows_login_username_keyboard.4", Credential.UserName); Pacekeeper.Sync(); //Enter Password EnterText("windows_login_password_entry_password", "view_windows_password_entry_password", "windows_password_entry_password_keyboard.4", Credential.Password); break; } Pacekeeper.Sync(); } catch (ElementNotFoundException ex) { label = ControlPanel.ActiveScreenLabel(); switch (label) { case "view_authentication_window_login": throw new DeviceWorkflowException("Could not sign in using Windows authentication.", ex); case "view_oxpd_auth_result": ControlPanel.Press("oxpd_auth_result_msg_footer.0"); throw new DeviceWorkflowException("Could not sign in using LDAP authentication.", ex); } } }
/// <summary> /// Set the Stamps for Top and Bottom /// </summary> /// <param name="stampList">List containing Key-value Pair for Stamps to be set;Key is the StampType Enum and Value contains string to be set for the Stamptype</param> public void SetStamps(Dictionary <StampType, string> stampList) { OpenOptionsPanel(); _device.ControlPanel.ScrollPressWait("#hpid-option-stamps", "#hpid-option-stamps-select-screen", _activeScreenTimeout); foreach (var item in stampList) { string stamptype = ($"{item.Key.ToString().ToLower()}stamp"); if (_device.ControlPanel.CheckState($"#hpid-stamp-{ stamptype}", OmniElementState.Exists)) { _device.ControlPanel.ScrollPressWait($"#hpid-stamp-{ stamptype}", "#hpid-option-stamp-details-screen", _activeScreenTimeout); if (_device.ControlPanel.CheckState("#hpid-stamp-content-textbox", OmniElementState.Exists)) { _device.ControlPanel.ScrollPress("#hpid-stamp-content-textbox"); Pacekeeper.Pause(); _device.ControlPanel.TypeOnVirtualKeyboard(item.Value.ToString()); _device.ControlPanel.WaitForState("#hpid-keyboard-key-done", OmniElementState.Useable, TimeSpan.FromSeconds(10)); _device.ControlPanel.Press("#hpid-keyboard-key-done"); } if (_device.ControlPanel.WaitForState(".hp-button-done:last", OmniElementState.Useable, _activeScreenTimeout)) { _device.ControlPanel.Press(".hp-button-done:last"); } } } if (_device.ControlPanel.WaitForState(".hp-button-done", OmniElementState.Useable, _activeScreenTimeout)) { _device.ControlPanel.Press(".hp-button-done"); } Pacekeeper.Pause(); }
/// <summary> /// Submits the authentication request. /// </summary> public override void SubmitAuthentication() { try { string okayBtn = (_hpacVersion16_6 == true) ? _footerOkay[1] : _footerOkay[0]; // Press the Oxpd AgentLess done button BoundingBox box = _engine.GetBoundingAreaById(okayBtn); _engine.PressElementByBoundingArea(box); ControlPanel.WaitForForm("HomeScreenForm", TimeSpan.FromSeconds(10)); Pacekeeper.Pause(); } catch (WindjammerInvalidOperationException ex) { switch (ControlPanel.CurrentForm()) { case "OneButtonMessageBox": try { string message = ControlPanel.GetProperty("mMessageLabel", "Text"); if (message.StartsWith("Invalid")) { throw new DeviceWorkflowException($"Could not sign in: {message}", ex); } else { throw new DeviceInvalidOperationException($"Could not sign in: {message}", ex); } } catch (ControlNotFoundException) { throw new DeviceInvalidOperationException($"Could not sign in: {ex.Message}", ex); } default: throw new DeviceInvalidOperationException($"Could not sign in: {ex.Message}", ex); } } }
private void EnterParameter(string labelText, string value) { Widget label = ControlPanel.GetWidgets().Find(labelText, StringMatch.Contains); if (label != null) { Widget stringBox = ControlPanel.GetWidgets().FindByLabel(label, WidgetType.StringBox, WidgetType.EditBox); ControlPanel.Press(stringBox); ControlPanel.WaitForScreen(_signInKeyboard, TimeSpan.FromSeconds(5)); Pacekeeper.Sync(); ControlPanel.TypeOnVirtualKeyboard(value); Pacekeeper.Sync(); ControlPanel.Press("OK"); ControlPanel.WaitForScreen(_signInScreen, TimeSpan.FromSeconds(5)); Pacekeeper.Sync(); } else { throw new DeviceWorkflowException($"Could not sign in using Windows authentication: No label with text {labelText}."); } }
/// <summary> /// Enters the name to use for the scanned file. /// </summary> /// <param name="fileName">The file name.</param> public void EnterFileName(string fileName) { if (_controlPanel.WaitForDisplayedText("Scan to E-mail", TimeSpan.FromSeconds(1))) { _controlPanel.Press("cJobSettings"); _controlPanel.Press("Scroll Down Arrow"); var screenText = _controlPanel.GetDisplayedStrings().ToList(); if (screenText.Contains("File Name Prefix")) { _controlPanel.Press("cFilenamePrefix"); Pacekeeper.Pause(); var keyTexts = _controlPanel.GetDisplayedStrings().ToList(); int count = keyTexts.ElementAt(0).Count(); for (int i = 0; i < count; i++) { _controlPanel.Press("Del"); } _controlPanel.TypeOnVirtualKeyboard(fileName); _controlPanel.Press("cOKTouchButton"); } } }
/// <summary> /// Submits the authentication request. /// </summary> public override void SubmitAuthentication() { try { // The name of the OK button differs depending on the screen resolution string okButton = ControlPanel.GetControls().Contains("ok") ? "ok" : "mOkButton"; // moved to press wait to handle the no click or no communications with server event within 10 seconds ControlPanel.PressWait(okButton, JediWindjammerLaunchHelper.HOMESCREEN_FORM, TimeSpan.FromSeconds(10)); Pacekeeper.Pause(); } catch (WindjammerInvalidOperationException ex) { switch (ControlPanel.CurrentForm()) { case "OneButtonMessageBox": try { string message = ControlPanel.GetProperty("mMessageLabel", "Text"); if (message.StartsWith("Invalid")) { throw new DeviceWorkflowException($"Could not sign in: {message}", ex); } else { throw new DeviceInvalidOperationException($"Could not sign in: {message}", ex); } } catch (ControlNotFoundException) { throw new DeviceInvalidOperationException($"Could not sign in: {ex.Message}", ex); } default: throw new DeviceInvalidOperationException($"Could not sign in: {ex.Message}", ex); } } }
/// <summary> /// Enters the name to use for the scanned file. /// </summary> /// <param name="fileName">The file name.</param> public void EnterFileName(string fileName) { try { if (_controlPanel.WaitForScreenLabel("Scan_Email_EmailPageGlass")) { _controlPanel.Press("item3"); Pacekeeper.Pause(); _controlPanel.SetValue("slineedit", fileName);//Keyboard Pacekeeper.Pause(); _controlPanel.Press("_done"); Pacekeeper.Pause(); } } catch (ElementNotFoundException) { //in small screen the option to set filename is missing, so ignore this //throw new DeviceWorkflowException($"Display name is different from To Address {ex.Message}", ex); } }
/// <summary> /// Launches the Email application on the device. /// </summary> public void Launch() { try { _controlPanel.Press("cScanHomeTouchButton"); if (_controlPanel.WaitForDisplayedText("Scan Menu", TimeSpan.FromSeconds(1))) { _controlPanel.Press("cEmailUiEmailDocument"); } Pacekeeper.Pause(); if (_controlPanel.WaitForDisplayedText("Scan to E-mail", TimeSpan.FromSeconds(1))) { _controlPanel.Press("cSendAnEmail"); } } catch (PhoenixInvalidOperationException ex) { throw new DeviceWorkflowException($"Could not launch Email application: {ex.Message}", ex); } }
/// <summary> /// Signin in Udocx /// </summary> /// <param name="id">id for signin</param> /// <param name="pw">pw for signin</param> private void Login(string id, string pw) { try { if (!_engine.HtmlContains(_differentUser[0])) { PressButton(_inputId[0]); _controlPanel.WaitForAvailable("#hpid-keyboard-key-done", _idleTimeoutOffset); _controlPanel.TypeOnVirtualKeyboard(id); Pacekeeper.Sync(); PressButton(_inputPw[0]); _controlPanel.WaitForAvailable("#hpid-keyboard-key-done", _idleTimeoutOffset); _controlPanel.TypeOnVirtualKeyboard(pw); Pacekeeper.Sync(); } else { PressButton(_differentUser[0]); _engine.WaitForHtmlContains(_inputId[0], TimeSpan.FromMilliseconds(20000)); PressButton(_inputId[0]); _controlPanel.WaitForAvailable("#hpid-keyboard-key-done", _idleTimeoutOffset); _controlPanel.TypeOnVirtualKeyboard(id); Pacekeeper.Sync(); PressButton(_inputPw[0]); _controlPanel.WaitForAvailable("#hpid-keyboard-key-done", _idleTimeoutOffset); _controlPanel.TypeOnVirtualKeyboard(pw); Pacekeeper.Sync(); } _controlPanel.Press("#hpid-keyboard-key-done"); Pacekeeper.Pause(); } catch (Exception ex) { DeviceWorkflowException e = new DeviceWorkflowException("Fail to signIn", ex); throw e; } }
/// <summary> /// Enters UserName and Password for Oxpd Login. /// </summary> private void EnterUserNamePassword() { if (ControlPanel.WaitForActiveScreenLabel("view_sips_form", _defaultWait)) { if (!string.IsNullOrEmpty(Credential.Domain)) { //press the button beside domain ControlPanel.Press("sips_form_region1_value"); ControlPanel.WaitForActiveScreenLabel("view_sips_form_entry_region2", _defaultWait); Pacekeeper.Pause(); ControlPanel.SetValue("sips_form_region1_kbd.4", Credential.Domain); ControlPanel.WaitForActiveScreenLabel("view_sips_form", _defaultWait); Pacekeeper.Pause(); } // press the button beside User Login button ControlPanel.Press("sips_form_region2_value"); ControlPanel.WaitForActiveScreenLabel("view_sips_form_entry_region2", _defaultWait); Pacekeeper.Pause(); ControlPanel.SetValue("sips_form_region2_kbd.4", Credential.UserName); ControlPanel.WaitForActiveScreenLabel("view_sips_form", _defaultWait); Pacekeeper.Pause(); // press the button beside the Password button ControlPanel.Press("sips_form_region3_value"); ControlPanel.WaitForActiveScreenLabel("view_sips_form_region3_kbd", _defaultWait); Pacekeeper.Pause(); ControlPanel.SetValue("sips_form_region3_kbd.4", Credential.Password); ControlPanel.WaitForActiveScreenLabel("view_sips_form", _defaultWait); Pacekeeper.Pause(); } else { throw new DeviceInvalidOperationException("Unable to enter credentials. Not at device sign in screen."); } }
/// <summary> /// Initializes a new instance of the <see cref="SiriusUIv3AppAuthenticatorBase" /> class. /// </summary> /// <param name="controlPanel">The <see cref="SiriusUIv3ControlPanel"/>.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/>.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/>.</param> protected SiriusUIv3AppAuthenticatorBase(SiriusUIv3ControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; }
/// <summary> /// Enters the PIN on the device control panel. /// </summary> protected void EnterPin() { ControlPanel.Type(Credential.Pin); Pacekeeper.Sync(); }
/// <summary> /// Initializes a new instance of the <see cref="JediWindjammerHpacAgentlessAuthenticator" /> class. /// </summary> /// <param name="controlPanel">The <see cref="JediWindjammerControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public JediWindjammerHpacAgentlessAuthenticator(JediWindjammerControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { _engine = new OxpdBrowserEngine(ControlPanel); CreateExistElementFunction(); _hpacVersion16_6 = IsVersion16_6(); }
protected override void EnterPin() { PressElementOxpdByClassIndex(_codeTextBoxClassname, 0); TypeOnVirtualKeyboard(Credential.Pin); Pacekeeper.Sync(); }
/// <summary> /// Initializes a new instance of the <see cref="JediOmniAppAuthenticatorBase" /> class. /// </summary> /// <param name="controlPanel">The <see cref="JediOmniControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> protected JediOmniAppAuthenticatorBase(JediOmniControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; _popupManager = new JediOmniPopupManager(controlPanel); _oxpdEngine = new Lazy<OxpdBrowserEngine>(() => new OxpdBrowserEngine(controlPanel)); }
/// <summary> /// Initializes a new instance of the <see cref="JediWindjammerAutoStoreAuthenticator"/> class. /// </summary> /// <param name="controlPanel">The <see cref="JediWindjammerControlPanel" /> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential" /> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper" /> object.</param> public JediWindjammerAutoStoreAuthenticator(JediWindjammerControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { }
/// <summary> /// Initializes a new instance of the <see cref="JediWindjammerAppAuthenticatorBase" /> class. /// </summary> /// <param name="controlPanel">The <see cref="JediWindjammerControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> protected JediWindjammerAppAuthenticatorBase(JediWindjammerControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; }
public JediOmniHpacWindowsAuthenticator(JediOmniControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { _controlPanel = controlPanel; }
/// <summary> /// Initializes a new instance of the <see cref="JediOmniSafeComUCAuthenticator" /> class. /// </summary> /// <param name="controlPanel">The <see cref="JediOmniControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public JediOmniSafeComUCAuthenticator(JediOmniControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { _engine = new OxpdBrowserEngine(controlPanel); }
/// <summary> /// Launches the Email application using the specified authenticator and authentication mode. /// </summary> /// <param name="authenticator">The authenticator.</param> /// <param name="authenticationMode">The authentication mode.</param> public void Launch(IAuthenticator authenticator, AuthenticationMode authenticationMode) { if (authenticationMode.Equals(AuthenticationMode.Lazy)) { try { _controlPanel.ScrollPress("sfolderview_p", "group.group.scan"); _controlPanel.WaitForScreenLabel("Home", _shortTimeSpan); //Scan To Page Pacekeeper.Pause(); _controlPanel.ScrollPress("sfolderview_p", "command.scan_email"); Pacekeeper.Pause(); if (!_controlPanel.WaitForScreenLabel("Scan_Email_EmailPageGlass", _shortTimeSpan)) { //if there are two sender's profile, we will have this intermediate screen which needs to be handled, selecting the first one as default if (_controlPanel.WaitForScreenLabel("Scan_Email_SenderProfile", _shortTimeSpan)) { _controlPanel.Press("model.ScanEmailProfilesModel.0"); Pacekeeper.Pause(); } if (_controlPanel.WaitForScreenLabel("AnA_Login_With_Windows_Authentication", _shortTimeSpan) || _controlPanel.WaitForScreenLabel("AnA_Login_With_LDAP_Authentication", _shortTimeSpan)) //Scan To Page { Pacekeeper.Pause(); } } if (_controlPanel.GetScreenInfo().ScreenLabels.FirstOrDefault() != "Scan_Email_EmailPageGlass") { if (authenticator == null) { throw new DeviceWorkflowException("Credentials are not supplied"); } authenticator.Authenticate(); } _controlPanel.WaitForScreenLabel("Scan_Email_EmailPageGlass", _longTimeSpan); //Email Form Pacekeeper.Pause(); } catch (ElementNotFoundException ex) { string currentForm = _controlPanel.GetScreenInfo().ScreenLabels.FirstOrDefault(); if (currentForm.Equals("Home")) { throw new DeviceWorkflowException($"Email application button was not found on device home screen.", ex); } else { throw new DeviceWorkflowException($"Cannot launch the Email application from {currentForm}.", ex); } } catch (SiriusInvalidOperationException ex) { switch (_controlPanel.GetScreenInfo().ScreenLabels.FirstOrDefault()) { case "Scan_Email_EmailPageGlass": // The application launched successfully. This happens sometimes. break; case "AnA_Login_With_Windows_Authentication;AnA_Login_With_LDAP_Authentication": { throw new DeviceWorkflowException($"Sign-in required to launch the Email application.", ex); } case "Scan_Email_NotSetup": { throw new DeviceWorkflowException("Scan To Email is not configured"); } default: { throw new DeviceWorkflowException($"Could not launch Email application: {ex.Message}", ex); } } } } else // AuthenticationMode.Eager { throw new NotImplementedException("Eager Authentication has not been implemented in SiriusUIv3EmailApp."); } }
/// <summary> /// Initializes a new instance of the <see cref="OzWindjammerWindowsAuthenticator" /> class. /// </summary> /// <param name="controlPanel">The <see cref="OzWindjammerControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public OzWindjammerWindowsAuthenticator(OzWindjammerControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; }
/// <summary> /// Initializes a new instance of the <see cref="PhoenixNovaWindowsAuthenticator"/> class. /// </summary> /// <param name="controlPanel">The <see cref="PhoenixNovaControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public PhoenixNovaWindowsAuthenticator(PhoenixNovaControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; }
/// <summary> /// Initializes a new instance of the <see cref="SiriusUIv3SafeComAuthenticator" /> class. /// </summary> /// <param name="controlPanel">The <see cref="SiriusUIv3ControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public SiriusUIv3SafeComAuthenticator(SiriusUIv3ControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { }
/// <summary> /// Initializes a new instance of the <see cref="SiriusUIv2WindowsAuthenticator"/> class. /// </summary> /// <param name="controlPanel">The <see cref="SiriusUIv2ControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public SiriusUIv2WindowsAuthenticator(SiriusUIv2ControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { ControlPanel = controlPanel; Credential = credential; Pacekeeper = pacekeeper; }
public PhoenixNovaWireless(PhoenixNovaDevice device) { _controlPanel = device.ControlPanel; _pacekeeper = new Pacekeeper(TimeSpan.FromSeconds(5)); }
/// <summary> /// Initializes a new instance of the <see cref="JediOmniCeliveoAuthenticator" /> class. /// </summary> /// <param name="controlPanel">The <see cref="JediOmniControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> public JediOmniCeliveoAuthenticator(JediOmniControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) : base(controlPanel, credential, pacekeeper) { }
/// <summary> /// Creates an <see cref="IAppAuthenticator" /> for the specified <see cref="AuthenticationProvider"/> value. /// </summary> /// <param name="provider">The <see cref="AuthenticationProvider"/> value.</param> /// <param name="controlPanel">The <see cref="JediWindjammerControlPanel"/> object.</param> /// <param name="credential">The <see cref="AuthenticationCredential"/> object.</param> /// <param name="pacekeeper">The <see cref="Pacekeeper"/> object.</param> /// <returns></returns> public static IAppAuthenticator Create(AuthenticationProvider provider, JediWindjammerControlPanel controlPanel, AuthenticationCredential credential, Pacekeeper pacekeeper) { object[] constructorParameters = new object[] { controlPanel, credential, pacekeeper }; return(_instance.FactoryCreate(provider, constructorParameters)); }