| Index: chrome/service/cloud_print/cloud_print_proxy_backend.cc
|
| ===================================================================
|
| --- chrome/service/cloud_print/cloud_print_proxy_backend.cc (revision 63553)
|
| +++ chrome/service/cloud_print/cloud_print_proxy_backend.cc (working copy)
|
| @@ -4,6 +4,9 @@
|
|
|
| #include "chrome/service/cloud_print/cloud_print_proxy_backend.h"
|
|
|
| +#include <map>
|
| +#include <vector>
|
| +
|
| #include "base/file_util.h"
|
| #include "base/md5.h"
|
| #include "base/rand_util.h"
|
| @@ -17,11 +20,10 @@
|
| #include "chrome/service/cloud_print/printer_job_handler.h"
|
| #include "chrome/service/gaia/service_gaia_authenticator.h"
|
| #include "chrome/service/service_process.h"
|
| +#include "googleurl/src/gurl.h"
|
| #include "jingle/notifier/base/notifier_options.h"
|
| #include "jingle/notifier/listener/push_notifications_thread.h"
|
| #include "jingle/notifier/listener/talk_mediator_impl.h"
|
| -
|
| -#include "googleurl/src/gurl.h"
|
| #include "net/url_request/url_request_status.h"
|
|
|
| // The real guts of CloudPrintProxyBackend, to keep the public client API clean.
|
| @@ -58,7 +60,7 @@
|
| // shutdown.
|
| void DoShutdown();
|
| void DoRegisterSelectedPrinters(
|
| - const cloud_print::PrinterList& printer_list);
|
| + const printing::PrinterList& printer_list);
|
|
|
| // URLFetcher::Delegate implementation.
|
| virtual void OnURLFetchComplete(const URLFetcher* source, const GURL& url,
|
| @@ -103,7 +105,7 @@
|
| // NotifyXXX is how the Core communicates with the frontend across
|
| // threads.
|
| void NotifyPrinterListAvailable(
|
| - const cloud_print::PrinterList& printer_list);
|
| + const printing::PrinterList& printer_list);
|
| void NotifyAuthenticated(
|
| const std::string& cloud_print_token,
|
| const std::string& cloud_print_xmpp_token,
|
| @@ -149,7 +151,7 @@
|
| // registered. We then pass a copy of this list to the frontend to give the
|
| // user a chance to further trim the list. When the frontend gives us the
|
| // final list we make a copy into this so that we can start registering.
|
| - cloud_print::PrinterList printer_list_;
|
| + printing::PrinterList printer_list_;
|
| // The URLFetcher instance for the current request
|
| scoped_ptr<URLFetcher> request_;
|
| // The index of the nex printer to be uploaded.
|
| @@ -164,7 +166,7 @@
|
| // so we won't have to requery the printer if the upload fails and we need
|
| // to retry.
|
| std::string last_uploaded_printer_name_;
|
| - cloud_print::PrinterCapsAndDefaults last_uploaded_printer_info_;
|
| + printing::PrinterCapsAndDefaults last_uploaded_printer_info_;
|
| // A map of printer id to job handler.
|
| typedef std::map<std::string, scoped_refptr<PrinterJobHandler> >
|
| JobHandlerMap;
|
| @@ -235,7 +237,7 @@
|
| }
|
|
|
| void CloudPrintProxyBackend::RegisterPrinters(
|
| - const cloud_print::PrinterList& printer_list) {
|
| + const printing::PrinterList& printer_list) {
|
| core_thread_.message_loop()->PostTask(FROM_HERE,
|
| NewRunnableMethod(
|
| core_.get(),
|
| @@ -344,7 +346,7 @@
|
| void CloudPrintProxyBackend::Core::StartRegistration() {
|
| DCHECK(MessageLoop::current() == backend_->core_thread_.message_loop());
|
| printer_list_.clear();
|
| - print_system_->EnumeratePrinters(&printer_list_);
|
| + print_system_->GetPrintBackend()->EnumeratePrinters(&printer_list_);
|
| server_error_count_ = 0;
|
| // Now we need to ask the server about printers that were registered on the
|
| // server so that we can trim this list.
|
| @@ -381,7 +383,7 @@
|
| }
|
|
|
| void CloudPrintProxyBackend::Core::DoRegisterSelectedPrinters(
|
| - const cloud_print::PrinterList& printer_list) {
|
| + const printing::PrinterList& printer_list) {
|
| DCHECK(MessageLoop::current() == backend_->core_thread_.message_loop());
|
| if (!print_system_.get())
|
| return; // No print system available.
|
| @@ -409,14 +411,15 @@
|
| // For the next printer to be uploaded, create a multi-part post request to
|
| // upload the printer capabilities and the printer defaults.
|
| if (next_upload_index_ < printer_list_.size()) {
|
| - const cloud_print::PrinterBasicInfo& info =
|
| + const printing::PrinterBasicInfo& info =
|
| printer_list_.at(next_upload_index_);
|
| bool have_printer_info = true;
|
| // If we are retrying a previous upload, we don't need to fetch the caps
|
| // and defaults again.
|
| if (info.printer_name != last_uploaded_printer_name_) {
|
| - have_printer_info = print_system_->GetPrinterCapsAndDefaults(
|
| - info.printer_name.c_str(), &last_uploaded_printer_info_);
|
| + have_printer_info =
|
| + print_system_->GetPrintBackend()->GetPrinterCapsAndDefaults(
|
| + info.printer_name.c_str(), &last_uploaded_printer_info_);
|
| }
|
| if (have_printer_info) {
|
| last_uploaded_printer_name_ = info.printer_name;
|
| @@ -536,7 +539,7 @@
|
| }
|
|
|
| void CloudPrintProxyBackend::Core::NotifyPrinterListAvailable(
|
| - const cloud_print::PrinterList& printer_list) {
|
| + const printing::PrinterList& printer_list) {
|
| DCHECK(MessageLoop::current() == backend_->frontend_loop_);
|
| backend_->frontend_->OnPrinterListAvailable(printer_list);
|
| }
|
| @@ -617,7 +620,7 @@
|
| printer_info_cloud.printer_id);
|
| // We might already have a job handler for this printer
|
| if (index == job_handler_map_.end()) {
|
| - cloud_print::PrinterBasicInfo printer_info;
|
| + printing::PrinterBasicInfo printer_info;
|
| printer_data->GetString(kNameValue, &printer_info.printer_name);
|
| DCHECK(!printer_info.printer_name.empty());
|
| printer_data->GetString(kPrinterDescValue,
|
| @@ -635,7 +638,7 @@
|
| if (StartsWithASCII(tag, kTagsHashTagName, false)) {
|
| std::vector<std::string> tag_parts;
|
| base::SplitStringDontTrim(tag, '=', &tag_parts);
|
| - DCHECK(tag_parts.size() == 2);
|
| + DCHECK_EQ(tag_parts.size(), 2U);
|
| if (tag_parts.size() == 2)
|
| printer_info_cloud.tags_hash = tag_parts[1];
|
| }
|
| @@ -695,7 +698,7 @@
|
| bool CloudPrintProxyBackend::Core::RemovePrinterFromList(
|
| const std::string& printer_name) {
|
| DCHECK(MessageLoop::current() == backend_->core_thread_.message_loop());
|
| - for (cloud_print::PrinterList::iterator index = printer_list_.begin();
|
| + for (printing::PrinterList::iterator index = printer_list_.begin();
|
| index != printer_list_.end(); index++) {
|
| if (0 == base::strcasecmp(index->printer_name.c_str(),
|
| printer_name.c_str())) {
|
| @@ -758,4 +761,3 @@
|
| backend_->frontend_loop_->PostTask(FROM_HERE, NewRunnableMethod(this,
|
| &Core::NotifyAuthenticationFailed));
|
| }
|
| -
|
|
|