OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/printing/print_job_manager.h" | 5 #include "chrome/browser/printing/print_job_manager.h" |
6 | 6 |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
9 #include "chrome/browser/printing/print_job.h" | 9 #include "chrome/browser/printing/print_job.h" |
10 #include "chrome/browser/printing/printer_query.h" | 10 #include "chrome/browser/printing/printer_query.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 job->FlushJob(120000); | 54 job->FlushJob(120000); |
55 job->Stop(); | 55 job->Stop(); |
56 } | 56 } |
57 } | 57 } |
58 current_jobs_.clear(); | 58 current_jobs_.clear(); |
59 } | 59 } |
60 | 60 |
61 void PrintJobManager::QueuePrinterQuery(PrinterQuery* job) { | 61 void PrintJobManager::QueuePrinterQuery(PrinterQuery* job) { |
62 AutoLock lock(lock_); | 62 AutoLock lock(lock_); |
63 DCHECK(job); | 63 DCHECK(job); |
64 queued_queries_.push_back(job); | 64 queued_queries_.push_back(make_scoped_refptr(job)); |
65 DCHECK(job->is_valid()); | 65 DCHECK(job->is_valid()); |
66 } | 66 } |
67 | 67 |
68 void PrintJobManager::PopPrinterQuery(int document_cookie, | 68 void PrintJobManager::PopPrinterQuery(int document_cookie, |
69 scoped_refptr<PrinterQuery>* job) { | 69 scoped_refptr<PrinterQuery>* job) { |
70 AutoLock lock(lock_); | 70 AutoLock lock(lock_); |
71 for (PrinterQueries::iterator itr = queued_queries_.begin(); | 71 for (PrinterQueries::iterator itr = queued_queries_.begin(); |
72 itr != queued_queries_.end(); | 72 itr != queued_queries_.end(); |
73 ++itr) { | 73 ++itr) { |
74 PrinterQuery* current_query = *itr; | 74 PrinterQuery* current_query = *itr; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 109 |
110 void PrintJobManager::OnPrintJobEvent( | 110 void PrintJobManager::OnPrintJobEvent( |
111 PrintJob* print_job, | 111 PrintJob* print_job, |
112 const JobEventDetails& event_details) { | 112 const JobEventDetails& event_details) { |
113 switch (event_details.type()) { | 113 switch (event_details.type()) { |
114 case JobEventDetails::NEW_DOC: { | 114 case JobEventDetails::NEW_DOC: { |
115 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), | 115 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), |
116 current_jobs_.end(), | 116 current_jobs_.end(), |
117 print_job)); | 117 print_job)); |
118 // Causes a AddRef(). | 118 // Causes a AddRef(). |
119 current_jobs_.push_back(print_job); | 119 current_jobs_.push_back(make_scoped_refptr(print_job)); |
120 break; | 120 break; |
121 } | 121 } |
122 case JobEventDetails::JOB_DONE: { | 122 case JobEventDetails::JOB_DONE: { |
123 PrintJobs::iterator itr = std::find(current_jobs_.begin(), | 123 PrintJobs::iterator itr = std::find(current_jobs_.begin(), |
124 current_jobs_.end(), | 124 current_jobs_.end(), |
125 print_job); | 125 print_job); |
126 DCHECK(current_jobs_.end() != itr); | 126 DCHECK(current_jobs_.end() != itr); |
127 current_jobs_.erase(itr); | 127 current_jobs_.erase(itr); |
128 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), | 128 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), |
129 current_jobs_.end(), | 129 current_jobs_.end(), |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 AutoLock lock(enabled_lock_); | 165 AutoLock lock(enabled_lock_); |
166 return printing_enabled_; | 166 return printing_enabled_; |
167 } | 167 } |
168 | 168 |
169 void PrintJobManager::set_printing_enabled(bool printing_enabled) { | 169 void PrintJobManager::set_printing_enabled(bool printing_enabled) { |
170 AutoLock lock(enabled_lock_); | 170 AutoLock lock(enabled_lock_); |
171 printing_enabled_ = printing_enabled; | 171 printing_enabled_ = printing_enabled; |
172 } | 172 } |
173 | 173 |
174 } // namespace printing | 174 } // namespace printing |
OLD | NEW |