Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: chrome/service/cloud_print/cloud_print_connector.cc

Issue 14215009: Changed cloud print private API to pass all page settings as single object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/service/cloud_print/cloud_print_connector.h" 5 #include "chrome/service/cloud_print/cloud_print_connector.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/md5.h" 9 #include "base/md5.h"
10 #include "base/rand_util.h" 10 #include "base/rand_util.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 DCHECK(printer_ids); 83 DCHECK(printer_ids);
84 printer_ids->clear(); 84 printer_ids->clear();
85 for (JobHandlerMap::const_iterator iter = job_handler_map_.begin(); 85 for (JobHandlerMap::const_iterator iter = job_handler_map_.begin();
86 iter != job_handler_map_.end(); ++iter) { 86 iter != job_handler_map_.end(); ++iter) {
87 printer_ids->push_back(iter->first); 87 printer_ids->push_back(iter->first);
88 } 88 }
89 } 89 }
90 90
91 void CloudPrintConnector::RegisterPrinters( 91 void CloudPrintConnector::RegisterPrinters(
92 const printing::PrinterList& printers) { 92 const printing::PrinterList& printers) {
93 if (!settings_.connect_new_printers() || !IsRunning()) 93 if (!IsRunning())
94 return; 94 return;
95 printing::PrinterList::const_iterator it; 95 printing::PrinterList::const_iterator it;
96 for (it = printers.begin(); it != printers.end(); ++it) { 96 for (it = printers.begin(); it != printers.end(); ++it) {
97 if (!settings_.IsPrinterBlacklisted(it->printer_name)) 97 if (settings_.ShouldConnect(it->printer_name))
98 AddPendingRegisterTask(*it); 98 AddPendingRegisterTask(*it);
99 } 99 }
100 } 100 }
101 101
102 // Check for jobs for specific printer 102 // Check for jobs for specific printer
103 void CloudPrintConnector::CheckForJobs(const std::string& reason, 103 void CloudPrintConnector::CheckForJobs(const std::string& reason,
104 const std::string& printer_id) { 104 const std::string& printer_id) {
105 if (!IsRunning()) 105 if (!IsRunning())
106 return; 106 return;
107 if (!printer_id.empty()) { 107 if (!printer_id.empty()) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 ListValue* printer_list = NULL; 205 ListValue* printer_list = NULL;
206 // There may be no "printers" value in the JSON 206 // There may be no "printers" value in the JSON
207 if (json_data->GetList(kPrinterListValue, &printer_list) && printer_list) { 207 if (json_data->GetList(kPrinterListValue, &printer_list) && printer_list) {
208 for (size_t index = 0; index < printer_list->GetSize(); index++) { 208 for (size_t index = 0; index < printer_list->GetSize(); index++) {
209 DictionaryValue* printer_data = NULL; 209 DictionaryValue* printer_data = NULL;
210 if (printer_list->GetDictionary(index, &printer_data)) { 210 if (printer_list->GetDictionary(index, &printer_data)) {
211 std::string printer_name; 211 std::string printer_name;
212 printer_data->GetString(kNameValue, &printer_name); 212 printer_data->GetString(kNameValue, &printer_name);
213 std::string printer_id; 213 std::string printer_id;
214 printer_data->GetString(kIdValue, &printer_id); 214 printer_data->GetString(kIdValue, &printer_id);
215 if (settings_.IsPrinterBlacklisted(printer_name)) { 215
216 if (!settings_.ShouldConnect(printer_name)) {
216 VLOG(1) << "CP_CONNECTOR: Deleting " << printer_name << 217 VLOG(1) << "CP_CONNECTOR: Deleting " << printer_name <<
217 " id: " << printer_id << " as blacklisted"; 218 " id: " << printer_id << " as blacklisted";
218 AddPendingDeleteTask(printer_id); 219 AddPendingDeleteTask(printer_id);
219 } else if (RemovePrinterFromList(printer_name, &local_printers)) { 220 } else if (RemovePrinterFromList(printer_name, &local_printers)) {
220 InitJobHandlerForPrinter(printer_data); 221 InitJobHandlerForPrinter(printer_data);
221 } else { 222 } else {
222 // Cloud printer is not found on the local system. 223 // Cloud printer is not found on the local system.
223 if (full_list || settings_.delete_on_enum_fail()) { 224 if (full_list || settings_.delete_on_enum_fail()) {
224 // Delete if we get the full list of printers or 225 // Delete if we get the full list of printers or
225 // |delete_on_enum_fail_| is set. 226 // |delete_on_enum_fail_| is set.
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 post_data, 561 post_data,
561 &CloudPrintConnector::HandleRegisterPrinterResponse); 562 &CloudPrintConnector::HandleRegisterPrinterResponse);
562 } 563 }
563 564
564 bool CloudPrintConnector::IsSamePrinter(const std::string& name1, 565 bool CloudPrintConnector::IsSamePrinter(const std::string& name1,
565 const std::string& name2) const { 566 const std::string& name2) const {
566 return (0 == base::strcasecmp(name1.c_str(), name2.c_str())); 567 return (0 == base::strcasecmp(name1.c_str(), name2.c_str()));
567 } 568 }
568 569
569 } // namespace cloud_print 570 } // namespace cloud_print
OLDNEW
« no previous file with comments | « chrome/service/cloud_print/cloud_print_connector.h ('k') | chrome/service/cloud_print/cloud_print_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698