using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Integration.Operation; using Tango.PPC.Common.Models; namespace Tango.PPC.Common.Printing { /// /// Represents a printing manager capable of executing jobs, changing job statuses according to completion stage and generating sample and fine tuning jobs. /// public interface IPrintingManager { /// /// Gets or sets a value indicating whether prevent printing by remote desktop. /// bool PreventPrintingByRemoteDesktop { get; set; } /// /// Prints the specified job. /// When the job is complete the job status will change according to the completion stage. /// /// The job. /// The context. /// Task Print(Job job, ObservablesContext context, PrintingConfiguration config = null); /// /// Creates a sample dye job from the specified job and prints it. /// When the sample dye job is complete, the job sample dye status will change. /// /// The job. /// The context. /// Task PrintSample(Job job, ObservablesContext context); /// /// Creates a fine tuning job from the specified job and fine tune items. /// When the fine tuning job is complete, the job fine tuning status will change. /// /// The job. /// The context. /// The fine tune items. /// Task PrintFineTuning(Job job, ObservablesContext context, IEnumerable fineTuneItems); } }