Esempio n. 1
0
        /// <summary>
        /// Make this our new current item...
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void m_comboboxCloudApiRoot_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox combobox = (ComboBox)sender;

            CloudManager.SetCloudApiRoot(combobox.Text);
            LoadRegisteredCloudDevices();
            CloudManager.CloudInfo cloudinfo = CloudManager.GetCurrentCloudInfo();
            m_checkboxStartNpm.Enabled = ((cloudinfo != null) && !string.IsNullOrEmpty(cloudinfo.szTwainCloudExpressFolder) && Directory.Exists(cloudinfo.szTwainCloudExpressFolder));
        }
Esempio n. 2
0
        /// <summary>
        /// If we need an 'npm start' process, start it up...
        /// </summary>
        /// <param name="a_blForceRestart">close the outstanding npm</param>
        /// <returns>true if things went well</returns>
        private bool StartNpmIfNeeded(bool a_blForceRestart)
        {
            // Remove anything from the past...
            if (a_blForceRestart)
            {
                Cleanup();
            }

            // We already have one, stick with it...
            else if (m_processNpm != null)
            {
                return(true);
            }

            // Get our local cloud info...
            CloudManager.CloudInfo cloudinfo = CloudManager.GetCurrentCloudInfo();
            if (cloudinfo == null)
            {
                return(true);
            }

            // If we don't have a working directory, we're done...
            if (string.IsNullOrEmpty(cloudinfo.szTwainCloudExpressFolder) || !Directory.Exists(cloudinfo.szTwainCloudExpressFolder))
            {
                return(true);
            }

            // Okay, fortune favors the bold (or the complete nutters)...
            try
            {
                if (m_displaycallback != null)
                {
                    m_displaycallback(Config.GetResource(m_resourcemanager, "strTextStartNpm"));
                }
                ProcessStartInfo processstartinfo = new ProcessStartInfo();
                processstartinfo.UseShellExecute  = true;
                processstartinfo.FileName         = "npm";
                processstartinfo.Arguments        = "start";
                processstartinfo.WorkingDirectory = cloudinfo.szTwainCloudExpressFolder;
                processstartinfo.WindowStyle      = ProcessWindowStyle.Minimized;
                m_processNpm = Process.Start(processstartinfo);
                Thread.Sleep((int)Config.Get("npmWaitForStart", 15000));
            }
            catch (Exception exception)
            {
                if (m_displaycallback != null)
                {
                    m_displaycallback(Config.GetResource(m_resourcemanager, "strTextNpmFailed") + " - " + exception.Message);
                }
                Log.Error("npi start launch failed - " + exception.Message);
                Cleanup();
            }

            // All done...
            return(true);
        }
Esempio n. 3
0
 /// <summary>
 /// Bring up the cloud console...
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void m_buttonManageCloud_Click(object sender, EventArgs e)
 {
     StartNpmIfNeeded(false);
     CloudManager.CloudInfo cloudinfo = CloudManager.GetCurrentCloudInfo();
     if ((cloudinfo != null) && !string.IsNullOrEmpty(cloudinfo.szManager))
     {
         Process.Start(cloudinfo.szManager);
     }
     else
     {
         MessageBox.Show(Config.GetResource(m_resourcemanager, "errNoCloudManager"), Config.GetResource(m_resourcemanager, "strFormScanTitle"));
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Which device have we selected?
        /// </summary>
        /// <returns>the one we've selected</returns>
        public Dnssd.DnssdDeviceInfo GetSelectedDevice()
        {
            int ii;

            // Handle TWAIN Cloud...
            if (m_listviewSelect.SelectedIndices.Count > 0)
            {
                var item    = m_listviewSelect.SelectedItems[0];
                var scanner = (ScannerInformation)item.Tag;
                if (scanner != null)
                {
                    string szUrl = CloudManager.GetScannerCloudUrl(scanner);
                    CloudManager.CloudInfo cloudinfo = CloudManager.GetCurrentCloudInfo();

                    Dnssd.DnssdDeviceInfo dnssddeviceinfo = new Dnssd.DnssdDeviceInfo();
                    dnssddeviceinfo.SetTxtHttps(cloudinfo.szUseHttps == "yes");
                    dnssddeviceinfo.SetLinkLocal(szUrl);
                    dnssddeviceinfo.SetCloud(true);
                    return(dnssddeviceinfo);
                }
            }

            // Handle TWAIN Local...
            // Make a note of our current selection, if we have one, we expect our
            // snapshot to exactly match what we have in the list, including the
            // order of the data...
            m_dnssddeviceinfoSelected = null;
            if (m_ldnssddeviceinfoCompare != null)
            {
                for (ii = 0; ii < m_listviewSelect.Items.Count; ii++)
                {
                    if (m_listviewSelect.Items[ii].Selected)
                    {
                        m_dnssddeviceinfoSelected = m_ldnssddeviceinfoCompare[ii];
                        break;
                    }
                }
            }

            // Return what we found...
            return(m_dnssddeviceinfoSelected);
        }