Example #1
0
        public void TestCancelMethod(Pump pump, SourceFileItem source, MultiTaskReporterBase reporter, params ExtractItem[] items)
        {
            DataPumpBase             dp      = pump.GetDataPump();
            DataPumpExecutionContext context = dp.Execute(source, reporter, items);

            context.Cancel();
        }
 public DeviceExtractionTask()
 {
     _reporter = new DefaultMultiTaskReporter();
     _reporter.ProgressChanged += _reporter_ProgressChanged;
     _reporter.Terminate       += _reporter_Terminated;
     _controler = new DataExtractControler()
     {
         Reporter = _reporter
     };
 }
Example #3
0
        /// <summary>
        /// 执行数据泵。
        /// </summary>
        /// <param name="dataPump">元数据。</param>
        /// <param name="source">数据源。</param>
        /// <param name="reporter">异步通知器。</param>
        /// <param name="items">提取项列表。</param>
        /// <returns>数据泵任务执行上下文。</returns>
        public static DataPumpExecutionContext Execute(this DataPumpBase dataPump, SourceFileItem source, MultiTaskReporterBase reporter, params ExtractItem[] items)
        {
            DataPumpExecutionContext context = dataPump.CreateContext(source);

            context.ExtractItems = items;
            DataPumpControllableExecutionContext contextEx = context as DataPumpControllableExecutionContext;

            if (contextEx != null)
            {
                contextEx.Reporter = reporter;
            }
            dataPump.Execute(context);
            return(context);
        }