Index: chrome/browser/extensions/api/document_scan/document_scan_interface_chromeos.cc |
diff --git a/chrome/browser/extensions/api/document_scan/document_scan_interface_chromeos.cc b/chrome/browser/extensions/api/document_scan/document_scan_interface_chromeos.cc |
deleted file mode 100644 |
index 12f132a591a0fddba188ae9abc54459f65f692f0..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/document_scan/document_scan_interface_chromeos.cc |
+++ /dev/null |
@@ -1,131 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/extensions/api/document_scan/document_scan_interface_chromeos.h" |
- |
-#include "base/base64.h" |
-#include "base/bind.h" |
-#include "chromeos/dbus/dbus_thread_manager.h" |
-#include "chromeos/dbus/lorgnette_manager_client.h" |
-#include "third_party/cros_system_api/dbus/service_constants.h" |
- |
-namespace { |
- |
-const char kImageScanFailedError[] = "Image scan failed"; |
-const char kScannerImageMimeTypePng[] = "image/png"; |
-const char kPngImageDataUrlPrefix[] = "data:image/png;base64,"; |
- |
-} // namespace |
- |
-namespace extensions { |
- |
-namespace api { |
- |
-DocumentScanInterfaceChromeos::DocumentScanInterfaceChromeos() |
- : lorgnette_manager_client_(nullptr) {} |
- |
-DocumentScanInterfaceChromeos::~DocumentScanInterfaceChromeos() {} |
- |
-void DocumentScanInterfaceChromeos::ListScanners( |
- const ListScannersResultsCallback& callback) { |
- GetLorgnetteManagerClient()->ListScanners(base::Bind( |
- &DocumentScanInterfaceChromeos::OnScannerListReceived, |
- base::Unretained(this), |
- callback)); |
-} |
- |
-void DocumentScanInterfaceChromeos::OnScannerListReceived( |
- const ListScannersResultsCallback& callback, |
- bool succeeded, |
- const chromeos::LorgnetteManagerClient::ScannerTable &scanners) { |
- std::vector<ScannerDescription> scanner_descriptions; |
- for (const auto& scanner : scanners) { |
- ScannerDescription description; |
- description.name = scanner.first; |
- const auto &entry = scanner.second; |
- auto info_it = entry.find(lorgnette::kScannerPropertyManufacturer); |
- if (info_it != entry.end()) { |
- description.manufacturer = info_it->second; |
- } |
- info_it = entry.find(lorgnette::kScannerPropertyModel); |
- if (info_it != entry.end()) { |
- description.model = info_it->second; |
- } |
- info_it = entry.find(lorgnette::kScannerPropertyType); |
- if (info_it != entry.end()) { |
- description.scanner_type = info_it->second; |
- } |
- description.image_mime_type = kScannerImageMimeTypePng; |
- scanner_descriptions.push_back(description); |
- } |
- const std::string kNoError; |
- callback.Run(scanner_descriptions, kNoError); |
-} |
- |
-void DocumentScanInterfaceChromeos::Scan(const std::string& scanner_name, |
- ScanMode mode, |
- int resolution_dpi, |
- const ScanResultsCallback& callback) { |
- VLOG(1) << "Choosing scanner " << scanner_name; |
- chromeos::LorgnetteManagerClient::ScanProperties properties; |
- switch (mode) { |
- case kScanModeColor: |
- properties.mode = lorgnette::kScanPropertyModeColor; |
- break; |
- |
- case kScanModeGray: |
- properties.mode = lorgnette::kScanPropertyModeGray; |
- break; |
- |
- case kScanModeLineart: |
- properties.mode = lorgnette::kScanPropertyModeLineart; |
- break; |
- } |
- |
- if (resolution_dpi != 0) { |
- properties.resolution_dpi = resolution_dpi; |
- } |
- |
- GetLorgnetteManagerClient()->ScanImageToString( |
- scanner_name, properties, |
- base::Bind(&DocumentScanInterfaceChromeos::OnScanCompleted, |
- base::Unretained(this), |
- callback)); |
-} |
- |
-void DocumentScanInterfaceChromeos::OnScanCompleted( |
- const ScanResultsCallback &callback, |
- bool succeeded, |
- const std::string& image_data) { |
- VLOG(1) << "ScanImage returns " << succeeded; |
- std::string error_string; |
- if (!succeeded) { |
- error_string = kImageScanFailedError; |
- } |
- |
- std::string image_base64; |
- base::Base64Encode(image_data, &image_base64); |
- std::string image_url(std::string(kPngImageDataUrlPrefix) + image_base64); |
- |
- callback.Run(image_url, kScannerImageMimeTypePng, error_string); |
-} |
- |
-chromeos::LorgnetteManagerClient* |
- DocumentScanInterfaceChromeos::GetLorgnetteManagerClient() { |
- if (!lorgnette_manager_client_) { |
- lorgnette_manager_client_ = |
- chromeos::DBusThreadManager::Get()->GetLorgnetteManagerClient(); |
- CHECK(lorgnette_manager_client_); |
- } |
- return lorgnette_manager_client_; |
-} |
- |
-// static |
-DocumentScanInterface *DocumentScanInterface::CreateInstance() { |
- return new DocumentScanInterfaceChromeos(); |
-} |
- |
-} // namespace api |
- |
-} // namespace extensions |