Ejemplo n.º 1
0
        private IEnumerable <CloudPrintJob> UpdateCloudPrintJobs(CloudPrinter printer)
        {
            List <CloudPrintJob> jobs;

            dynamic fetchdata = HTTPHelper.PostCloudPrintUrlEncodedRequest(OAuthTicket, "fetch", new { printerid = printer.PrinterID });

            if (fetchdata.success)
            {
                jobs = ((IEnumerable <dynamic>)fetchdata.jobs).Select(j => new CloudPrintJobImpl(this, printer, j)).OfType <CloudPrintJob>().ToList();
            }
            else
            {
                jobs = new List <CloudPrintJob>();
            }

            foreach (CloudPrintJob job in jobs)
            {
                if (!_PrintJobs.ContainsKey(job.JobID))
                {
                    _PrintJobs[job.JobID] = job;
                    PrintJobProcessor.AddJob(job);
                    //Logger.Log(LogLevel.Info, "Received new print job {0} [{1}] owned by {2} for printer [{3}]", job.JobID, job.JobTitle, job.Username, job.Printer.Name);
                }
            }

            return(jobs);
        }
Ejemplo n.º 2
0
 public void EnqueuePrintJob(string jobid)
 {
     PrintJobProcessor.AddJob(GetCloudPrintJobById(jobid));
 }