| OLD | NEW |
| 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/browser/extensions/api/cloud_print_private/cloud_print_private_
api.h" | 5 #include "chrome/browser/extensions/api/cloud_print_private/cloud_print_private_
api.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/threading/sequenced_worker_pool.h" | 9 #include "base/threading/sequenced_worker_pool.h" |
| 10 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" | 10 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 } | 24 } |
| 25 | 25 |
| 26 CloudPrintTestsDelegate::CloudPrintTestsDelegate() { | 26 CloudPrintTestsDelegate::CloudPrintTestsDelegate() { |
| 27 instance_ = this; | 27 instance_ = this; |
| 28 } | 28 } |
| 29 | 29 |
| 30 CloudPrintTestsDelegate::~CloudPrintTestsDelegate() { | 30 CloudPrintTestsDelegate::~CloudPrintTestsDelegate() { |
| 31 instance_ = NULL; | 31 instance_ = NULL; |
| 32 } | 32 } |
| 33 | 33 |
| 34 CloudPrintPrivateSetupConnectorFunction:: | 34 CloudPrintSetupConnectorFunction::CloudPrintSetupConnectorFunction() { |
| 35 CloudPrintPrivateSetupConnectorFunction() { | |
| 36 } | 35 } |
| 37 | 36 |
| 38 CloudPrintPrivateSetupConnectorFunction:: | 37 CloudPrintSetupConnectorFunction::~CloudPrintSetupConnectorFunction() { |
| 39 ~CloudPrintPrivateSetupConnectorFunction() { | |
| 40 } | 38 } |
| 41 | 39 |
| 42 | 40 |
| 43 bool CloudPrintPrivateSetupConnectorFunction::RunImpl() { | 41 bool CloudPrintSetupConnectorFunction::RunImpl() { |
| 44 using extensions::api::cloud_print_private::SetupConnector::Params; | 42 using extensions::api::cloud_print_private::SetupConnector::Params; |
| 45 scoped_ptr<Params> params(Params::Create(*args_)); | 43 scoped_ptr<Params> params(Params::Create(*args_)); |
| 46 if (CloudPrintTestsDelegate::instance()) { | 44 if (CloudPrintTestsDelegate::instance()) { |
| 47 CloudPrintTestsDelegate::instance()->SetupConnector( | 45 CloudPrintTestsDelegate::instance()->SetupConnector( |
| 48 params->user_email, | 46 params->user_email, |
| 49 params->robot_email, | 47 params->robot_email, |
| 50 params->credentials, | 48 params->credentials, |
| 51 params->connect_new_printers, | 49 params->connect_new_printers, |
| 52 params->printer_blacklist); | 50 params->printer_blacklist); |
| 53 } else { | 51 } else { |
| 54 CloudPrintProxyServiceFactory::GetForProfile(profile_)-> | 52 CloudPrintProxyServiceFactory::GetForProfile(profile_)-> |
| 55 EnableForUserWithRobot(params->credentials, | 53 EnableForUserWithRobot(params->credentials, |
| 56 params->robot_email, | 54 params->robot_email, |
| 57 params->user_email, | 55 params->user_email, |
| 58 params->connect_new_printers, | 56 params->connect_new_printers, |
| 59 params->printer_blacklist); | 57 params->printer_blacklist); |
| 60 } | 58 } |
| 61 SendResponse(true); | 59 SendResponse(true); |
| 62 return true; | 60 return true; |
| 63 } | 61 } |
| 64 | 62 |
| 65 CloudPrintPrivateGetHostNameFunction::CloudPrintPrivateGetHostNameFunction() { | 63 CloudPrintGetHostNameFunction::CloudPrintGetHostNameFunction() { |
| 66 } | 64 } |
| 67 | 65 |
| 68 CloudPrintPrivateGetHostNameFunction::~CloudPrintPrivateGetHostNameFunction() { | 66 CloudPrintGetHostNameFunction::~CloudPrintGetHostNameFunction() { |
| 69 } | 67 } |
| 70 | 68 |
| 71 bool CloudPrintPrivateGetHostNameFunction::RunImpl() { | 69 bool CloudPrintGetHostNameFunction::RunImpl() { |
| 72 SetResult(Value::CreateStringValue( | 70 SetResult(Value::CreateStringValue( |
| 73 CloudPrintTestsDelegate::instance() ? | 71 CloudPrintTestsDelegate::instance() ? |
| 74 CloudPrintTestsDelegate::instance()->GetHostName() : | 72 CloudPrintTestsDelegate::instance()->GetHostName() : |
| 75 net::GetHostName())); | 73 net::GetHostName())); |
| 76 SendResponse(true); | 74 SendResponse(true); |
| 77 return true; | 75 return true; |
| 78 } | 76 } |
| 79 | 77 |
| 80 CloudPrintPrivateGetPrintersFunction::CloudPrintPrivateGetPrintersFunction() { | 78 CloudPrintGetPrintersFunction::CloudPrintGetPrintersFunction() { |
| 81 } | 79 } |
| 82 | 80 |
| 83 CloudPrintPrivateGetPrintersFunction::~CloudPrintPrivateGetPrintersFunction() { | 81 CloudPrintGetPrintersFunction::~CloudPrintGetPrintersFunction() { |
| 84 } | 82 } |
| 85 | 83 |
| 86 void CloudPrintPrivateGetPrintersFunction::ReturnResult( | 84 void CloudPrintGetPrintersFunction::ReturnResult( |
| 87 const base::ListValue* printers) { | 85 const base::ListValue* printers) { |
| 88 SetResult(printers->DeepCopy()); | 86 SetResult(printers->DeepCopy()); |
| 89 SendResponse(true); | 87 SendResponse(true); |
| 90 } | 88 } |
| 91 | 89 |
| 92 void CloudPrintPrivateGetPrintersFunction::CollectPrinters() { | 90 void CloudPrintGetPrintersFunction::CollectPrinters() { |
| 93 scoped_ptr<base::ListValue> result(new base::ListValue()); | 91 scoped_ptr<base::ListValue> result(new base::ListValue()); |
| 94 if (CloudPrintTestsDelegate::instance()) { | 92 if (CloudPrintTestsDelegate::instance()) { |
| 95 std::vector<std::string> printers = | 93 std::vector<std::string> printers = |
| 96 CloudPrintTestsDelegate::instance()->GetPrinters(); | 94 CloudPrintTestsDelegate::instance()->GetPrinters(); |
| 97 for (size_t i = 0; i < printers.size(); ++i) | 95 for (size_t i = 0; i < printers.size(); ++i) |
| 98 result->Append(Value::CreateStringValue(printers[i])); | 96 result->Append(Value::CreateStringValue(printers[i])); |
| 99 } else { | 97 } else { |
| 100 printing::PrinterList printers; | 98 printing::PrinterList printers; |
| 101 scoped_refptr<printing::PrintBackend> backend( | 99 scoped_refptr<printing::PrintBackend> backend( |
| 102 printing::PrintBackend::CreateInstance(NULL)); | 100 printing::PrintBackend::CreateInstance(NULL)); |
| 103 if (backend) | 101 if (backend) |
| 104 backend->EnumeratePrinters(&printers); | 102 backend->EnumeratePrinters(&printers); |
| 105 for (size_t i = 0; i < printers.size(); ++i) | 103 for (size_t i = 0; i < printers.size(); ++i) |
| 106 result->Append(Value::CreateStringValue(printers[i].printer_name)); | 104 result->Append(Value::CreateStringValue(printers[i].printer_name)); |
| 107 } | 105 } |
| 108 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, | 106 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, |
| 109 base::Bind(&CloudPrintPrivateGetPrintersFunction::ReturnResult, this, | 107 base::Bind(&CloudPrintGetPrintersFunction::ReturnResult, this, |
| 110 base::Owned(result.release()))); | 108 base::Owned(result.release()))); |
| 111 } | 109 } |
| 112 | 110 |
| 113 | 111 |
| 114 bool CloudPrintPrivateGetPrintersFunction::RunImpl() { | 112 bool CloudPrintGetPrintersFunction::RunImpl() { |
| 115 content::BrowserThread::GetBlockingPool()->PostTask(FROM_HERE, | 113 content::BrowserThread::GetBlockingPool()->PostTask(FROM_HERE, |
| 116 base::Bind(&CloudPrintPrivateGetPrintersFunction::CollectPrinters, this)); | 114 base::Bind(&CloudPrintGetPrintersFunction::CollectPrinters, this)); |
| 117 return true; | 115 return true; |
| 118 } | 116 } |
| 119 | 117 |
| 120 } // namespace extensions | 118 } // namespace extensions |
| OLD | NEW |