Esempio n. 1
0
        /// <summary>
        /// Validates the given metadata against the PrintFromUsb Activity data.
        /// </summary>
        /// <param name="configurationData">The configuration data.</param>
        /// <returns>true if valid</returns>
        public bool ValidateMetadata(ref PluginConfigurationData configurationData)
        {
            bool validData = true;
            PrintFromUsbActivityData activityData = null;

            try
            {
                activityData = configurationData.GetMetadata <PrintFromUsbActivityData>();
            }
            catch
            {
                activityData = new PrintFromUsbActivityData();
                validData    = false;
            }

            configurationData = new PluginConfigurationData(activityData, PrintFromUsbConfigControl.Version);

            return(validData);
        }
Esempio n. 2
0
        private PluginExecutionResult RunApp(IDevice device)
        {
            try
            {
                PluginExecutionResult result = new PluginExecutionResult(PluginResult.Failed);

                _activityData = _executionData.GetMetadata <PrintFromUsbActivityData>();

                IUsbApp        usbApp = UsbAppFactory.Create(device);
                IAuthenticator auth   = AuthenticatorFactory.Create(device, _executionData.Credential, AuthenticationProvider.Auto);

                usbApp.WorkflowLogger = auth.WorkflowLogger = _workflowLogger;

                var preparationManager = DevicePreparationManagerFactory.Create(device);
                preparationManager.InitializeDevice(true);
                preparationManager.WorkflowLogger = _workflowLogger;

                // need to add the ability for user to set eager or lazy authentication
                //AuthenticationMode am = (_data.ApplicationAuthentication == false) ? AuthenticationMode.Eager : AuthenticationMode.Lazy;

                usbApp.Pacekeeper = auth.Pacekeeper = new Pacekeeper(TimeSpan.FromSeconds(2));
                _workflowLogger.RecordEvent(DeviceWorkflowMarker.ActivityBegin);
                usbApp.LaunchPrintFromUsb(auth, AuthenticationMode.Lazy);
                UpdateStatus("The Print From USB app is launched");

                usbApp.SelectUsbPrint(_activityData.UsbName);
                UpdateStatus("The USB is selected");

                usbApp.SelectFile();
                UpdateStatus("File to Print is selected");

                if (usbApp.ExecutePrintJob())
                {
                    UpdateStatus("The selected file is printed");
                    result = new PluginExecutionResult(PluginResult.Passed);
                }

                preparationManager.NavigateHome();
                if (preparationManager.SignOutRequired())
                {
                    preparationManager.SignOut();
                }
                _workflowLogger.RecordEvent(DeviceWorkflowMarker.ActivityEnd);
                return(result);
            }
            catch (DeviceCommunicationException ex)
            {
                GatherTriageData(device, ex.ToString());
                return(new PluginExecutionResult(PluginResult.Failed, ex.Message, "Device communication error."));
            }
            catch (DeviceInvalidOperationException ex)
            {
                GatherTriageData(device, ex.ToString());
                return(new PluginExecutionResult(PluginResult.Failed, ex.Message, "Device automation error."));
            }
            catch (DeviceWorkflowException ex)
            {
                GatherTriageData(device, ex.ToString());
                return(new PluginExecutionResult(PluginResult.Failed, ex, "Device workflow error."));
            }
            catch (Exception ex)
            {
                GatherTriageData(device, ex.ToString());
                throw;
            }
        }
 /// <summary>
 /// Initializes the configuration control with the specified settings.
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="environment"></param>
 public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment)
 {
     _data = configuration.GetMetadata <PrintFromUsbActivityData>();
     firmware_assetSelectionControl.Initialize(configuration.Assets, AssetAttributes.Printer);
     textBoxUsbName.Text = _data.UsbName;
 }
 /// <summary>
 /// Initializes the configuration control with default settings.
 /// </summary>
 /// <param name="environment"></param>
 public void Initialize(PluginEnvironment environment)
 {
     _data = new PrintFromUsbActivityData();
     firmware_assetSelectionControl.Initialize(AssetAttributes.Printer);
 }