public Multimedia(ScannerBase parent, string header, string description, string pluginPath) { Parent = parent; Name = header; Description = description; PluginPath = pluginPath; }
/// <summary> /// Starts a scanner /// </summary> public void StartScanner(ScannerBase scannerName) { currentScanner = scannerName; System.Reflection.MethodInfo mi = scannerName.GetType().GetMethod("Scan", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); ScanDelegate objScan = (ScanDelegate)Delegate.CreateDelegate(typeof(ScanDelegate), mi); Main.Logger.WriteLine("Starting scanning: " + scannerName.ScannerName); // Update section name scannerName.RootNode.SectionName = scannerName.ScannerName; scannerName.RootNode.Img = this.imageList.Images[scannerName.GetType().Name]; ScanDlg.CurrentSection = scannerName.ScannerName; // Start scanning this.threadScan = new Thread(new ThreadStart(objScan)); this.threadScan.Start(); this.threadScan.Join(); // Wait 250ms Thread.Sleep(250); if (scannerName.RootNode.Nodes.Count > 0) { ScanDlg.arrBadRegistryKeys.Add(scannerName.RootNode); } Main.Logger.WriteLine("Finished scanning: " + scannerName.ScannerName); Main.Logger.WriteLine(); this.progressBar.Position++; SetProgressValue(this.progressBar.Position, ScanDlg.arrBadRegistryKeys.SectionCount); }
public override void Scan(ScannerBase child) { //if (!Children.Contains(child)) // return; //if (!child.IsChecked.GetValueOrDefault()) // return; }
public IScanner scanner(string Id) { ScannerBase scanner = scanners.Find(item => item.Id == Id); if (scanner != null) { return(scanner); } throw new Exception("扫码枪\"" + Id + "\"不存在"); }
public void LoadConfig() { hardwares = Configuration.GetConfig <List <CommunicationBase> >(nameof(hardwares)); #region RESET foreach (var item in plcs) { item.ConnectionChangeEvent -= HardWareConnectionChanged; HardWareConnectionChanged(item, false); item.Close(); } plcs.Clear(); foreach (var item in scanners) { item.ConnectionChangeEvent -= HardWareConnectionChanged; HardWareConnectionChanged(item, false); item.Close(); } scanners.Clear(); #endregion foreach (var item in hardwares) { var assembly = Assembly.GetAssembly(typeof(CommunicationBase)); var type = assembly.GetType("Communication." + item.HardwareId + "." + item.Kind + "`1"); var instanceType = type.MakeGenericType(assembly.GetType("Communication." + item.Mode)); object[] parameters = new object[4]; parameters[0] = item.Id; parameters[1] = item.ParamStr; parameters[2] = item.ParamInt; parameters[3] = item.Timeout; switch (item.HardwareId) { case "Plc": PlcBase plc = (PlcBase)Activator.CreateInstance(instanceType, parameters); plc.ConnectionChangeEvent += HardWareConnectionChanged; Task.Run(() => { plc.Connect(); }); plcs.Add(plc); break; case "Scanner": ScannerBase scanner = (ScannerBase)Activator.CreateInstance(instanceType, parameters); scanner.ConnectionChangeEvent += HardWareConnectionChanged; Task.Run(() => { scanner.Connect(); }); //scanner.Connect(); scanners.Add(scanner); break; default: break; } } OnPlcChanged(); OnScannerChanged(); }
private void StartScanner(ScannerBase scanner) { // Start task ScannerBase.CancellationToken = new CancellationTokenSource(); var childScanTask = new Task(scanner.Scan, ScannerBase.CancellationToken.Token); childScanTask.RunSynchronously(); ScannerBase.CancellationToken.Dispose(); ScannerBase.CancellationToken = null; }
public override void Scan(ScannerBase child) { if (!(child is Plugins)) { return; } if (!string.IsNullOrEmpty(child.Name) && !string.IsNullOrEmpty(child.PluginPath)) { ScanPlugin(child.Name, child.PluginPath); } }
private void StartScanner(ScannerBase parent) { if (!string.IsNullOrEmpty(parent.ProcessName)) { if (parent.Skipped) { return; } var ret = RunningMsg.DisplayRunningMsg(parent.Name, parent.ProcessName); if (ret.GetValueOrDefault() == false) { // Skip plugin if (Dispatcher.Thread != Thread.CurrentThread) { Dispatcher.BeginInvoke(new Action(() => ProgressBar.Value++)); } else { ProgressBar.Value++; } parent.Skipped = true; return; } } ScannerBase.CancellationToken = new CancellationTokenSource(); var scanTask = new Task(parent.Scan, _cancellationTokenSource.Token); scanTask.RunSynchronously(); ScannerBase.CancellationToken.Dispose(); ScannerBase.CancellationToken = null; }
void ICommentParser.ParseSingleLineCommtent(ScannerBase scanner, TokenInfo token) { throw new NotSupportedException(); }
void ICommentParser.ParseMultiLineCommtent(ScannerBase scanner, TokenInfo token) { if (token.LiteralBuffer.Length > 0 && token.LiteralBuffer[0] == '*') { DocComment v = _docCommentParser.Parse(token); v.Source = _currentSource; _comments.Enqueue(v); } }
public Applications(ScannerBase parent, string header) { Parent = parent; Name = header; }