Index: chrome/browser/chromeos/printer_detector/usb_printer_detector.cc |
diff --git a/chrome/browser/chromeos/printer_detector/cups_printer_detector.cc b/chrome/browser/chromeos/printer_detector/usb_printer_detector.cc |
similarity index 87% |
rename from chrome/browser/chromeos/printer_detector/cups_printer_detector.cc |
rename to chrome/browser/chromeos/printer_detector/usb_printer_detector.cc |
index 00168bbf5c0a15f542cb5780575548fd78036fde..b48031f1c7c7ff96b43eff1a8f8eee9ce82e1d6c 100644 |
--- a/chrome/browser/chromeos/printer_detector/cups_printer_detector.cc |
+++ b/chrome/browser/chromeos/printer_detector/usb_printer_detector.cc |
@@ -4,7 +4,9 @@ |
#include <stdint.h> |
+#include <map> |
#include <memory> |
+#include <set> |
#include <utility> |
#include <vector> |
@@ -18,7 +20,7 @@ |
#include "base/synchronization/lock.h" |
#include "base/threading/sequenced_task_runner_handle.h" |
#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/chromeos/printer_detector/printer_detector.h" |
+#include "chrome/browser/chromeos/printer_detector/usb_printer_detector.h" |
#include "chrome/browser/chromeos/printing/ppd_provider_factory.h" |
#include "chrome/browser/chromeos/printing/printer_configurer.h" |
#include "chrome/browser/chromeos/printing/printers_manager_factory.h" |
@@ -71,32 +73,32 @@ std::string GuessEffectiveMakeAndModel(const device::UsbDevice& device) { |
// The PrinterDetector that drives the flow for setting up a USB printer to use |
// CUPS backend. |
-class CupsPrinterDetectorImpl : public PrinterDetector, |
- public device::UsbService::Observer { |
+class UsbPrinterDetectorImpl : public UsbPrinterDetector, |
+ public device::UsbService::Observer { |
public: |
- explicit CupsPrinterDetectorImpl(Profile* profile) |
+ explicit UsbPrinterDetectorImpl(Profile* profile) |
: profile_(profile), |
usb_observer_(this), |
observer_list_( |
- new base::ObserverListThreadSafe<PrinterDetector::Observer>), |
+ new base::ObserverListThreadSafe<UsbPrinterDetector::Observer>), |
weak_ptr_factory_(this) { |
device::UsbService* usb_service = |
device::DeviceClient::Get()->GetUsbService(); |
if (usb_service) { |
usb_observer_.Add(usb_service); |
- usb_service->GetDevices(base::Bind(&CupsPrinterDetectorImpl::OnGetDevices, |
+ usb_service->GetDevices(base::Bind(&UsbPrinterDetectorImpl::OnGetDevices, |
weak_ptr_factory_.GetWeakPtr())); |
} |
} |
- ~CupsPrinterDetectorImpl() override = default; |
+ ~UsbPrinterDetectorImpl() override = default; |
// PrinterDetector interface function. |
- void AddObserver(PrinterDetector::Observer* observer) override { |
+ void AddObserver(UsbPrinterDetector::Observer* observer) override { |
observer_list_->AddObserver(observer); |
} |
// PrinterDetector interface function. |
- void RemoveObserver(PrinterDetector::Observer* observer) override { |
+ void RemoveObserver(UsbPrinterDetector::Observer* observer) override { |
observer_list_->RemoveObserver(observer); |
} |
@@ -146,7 +148,8 @@ class CupsPrinterDetectorImpl : public PrinterDetector, |
// We already have pp_lock_, so need to call the pre-locked version of |
// GetPrinters to prevent deadlock. |
observer_list_->Notify( |
- FROM_HERE, &PrinterDetector::Observer::OnAvailableUsbPrintersChanged, |
+ FROM_HERE, |
+ &UsbPrinterDetector::Observer::OnAvailableUsbPrintersChanged, |
GetPrintersLocked()); |
} else { |
// If the device has been removed but it's not in present_printers_, it |
@@ -203,7 +206,7 @@ class CupsPrinterDetectorImpl : public PrinterDetector, |
printing::CreateProvider(profile_); |
ppd_provider->ResolveUsbIds( |
device->vendor_id(), device->product_id(), |
- base::Bind(&CupsPrinterDetectorImpl::ResolveUsbIdsDone, |
+ base::Bind(&UsbPrinterDetectorImpl::ResolveUsbIdsDone, |
weak_ptr_factory_.GetWeakPtr(), ppd_provider, |
base::Passed(std::move(data)))); |
} |
@@ -214,7 +217,7 @@ class CupsPrinterDetectorImpl : public PrinterDetector, |
SetUpPrinterData* data_ptr = data.get(); |
data_ptr->configurer->SetUpPrinter( |
*(data_ptr->printer), |
- base::Bind(&CupsPrinterDetectorImpl::SetUpPrinterDone, |
+ base::Bind(&UsbPrinterDetectorImpl::SetUpPrinterDone, |
weak_ptr_factory_.GetWeakPtr(), |
base::Passed(std::move(data)))); |
} |
@@ -273,16 +276,12 @@ class CupsPrinterDetectorImpl : public PrinterDetector, |
base::AutoLock auto_lock(pp_lock_); |
present_printers_.emplace(data->device->guid(), std::move(data->printer)); |
observer_list_->Notify( |
- FROM_HERE, &PrinterDetector::Observer::OnAvailableUsbPrintersChanged, |
+ FROM_HERE, |
+ &UsbPrinterDetector::Observer::OnAvailableUsbPrintersChanged, |
GetPrintersLocked()); |
} |
} |
- void SetNotificationUIManagerForTesting( |
- NotificationUIManager* manager) override { |
- LOG(FATAL) << "Not implemented for CUPS"; |
- } |
- |
// Map from USB GUID to Printer that we have detected as being currently |
// plugged in and have finished processing. Note present_printers_ may be |
// accessed from multiple threads, so is protected by pp_lock_. |
@@ -297,22 +296,17 @@ class CupsPrinterDetectorImpl : public PrinterDetector, |
Profile* profile_; |
ScopedObserver<device::UsbService, device::UsbService::Observer> |
usb_observer_; |
- scoped_refptr<base::ObserverListThreadSafe<PrinterDetector::Observer>> |
+ scoped_refptr<base::ObserverListThreadSafe<UsbPrinterDetector::Observer>> |
observer_list_; |
- base::WeakPtrFactory<CupsPrinterDetectorImpl> weak_ptr_factory_; |
+ base::WeakPtrFactory<UsbPrinterDetectorImpl> weak_ptr_factory_; |
}; |
} // namespace |
-// Nop base class implementation of GetPrinters(). Because this is non-empty we |
-// have to define it out-of-line. |
-std::vector<Printer> PrinterDetector::GetPrinters() { |
- return std::vector<Printer>(); |
-} |
- |
// static |
-std::unique_ptr<PrinterDetector> PrinterDetector::CreateCups(Profile* profile) { |
- return base::MakeUnique<CupsPrinterDetectorImpl>(profile); |
+std::unique_ptr<UsbPrinterDetector> UsbPrinterDetector::Create( |
+ Profile* profile) { |
+ return base::MakeUnique<UsbPrinterDetectorImpl>(profile); |
} |
} // namespace chromeos |