#include "services/device/usb/usb_service.h"
#include <utility>
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/not_fatal_until.h"
#include "base/observer_list.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "components/device_event_log/device_event_log.h"
#include "services/device/usb/usb_device.h"
#include "services/device/usb/usb_device_handle.h"
#if BUILDFLAG(IS_ANDROID)
#include "services/device/usb/usb_service_android.h"
#elif defined(USE_UDEV)
#include "services/device/usb/usb_service_linux.h"
#elif BUILDFLAG(IS_MAC)
#include "services/device/usb/usb_service_impl.h"
#elif BUILDFLAG(IS_WIN)
#include "services/device/usb/usb_service_win.h"
#endif
namespace device {
UsbService::Observer::~Observer() = default;
void UsbService::Observer::OnDeviceAdded(scoped_refptr<UsbDevice> device) { … }
void UsbService::Observer::OnDeviceRemoved(scoped_refptr<UsbDevice> device) { … }
void UsbService::Observer::OnDeviceRemovedCleanup(
scoped_refptr<UsbDevice> device) { … }
void UsbService::Observer::WillDestroyUsbService() { … }
constexpr base::TaskTraits UsbService::kBlockingTaskTraits;
std::unique_ptr<UsbService> UsbService::Create() { … }
scoped_refptr<base::SequencedTaskRunner>
UsbService::CreateBlockingTaskRunner() { … }
UsbService::~UsbService() { … }
UsbService::UsbService() { … }
scoped_refptr<UsbDevice> UsbService::GetDevice(const std::string& guid) { … }
void UsbService::GetDevices(GetDevicesCallback callback) { … }
void UsbService::AddObserver(Observer* observer) { … }
void UsbService::RemoveObserver(Observer* observer) { … }
void UsbService::AddDeviceForTesting(scoped_refptr<UsbDevice> device) { … }
void UsbService::RemoveDeviceForTesting(const std::string& device_guid) { … }
void UsbService::GetTestDevices(
std::vector<scoped_refptr<UsbDevice>>* devices) { … }
void UsbService::NotifyDeviceAdded(scoped_refptr<UsbDevice> device) { … }
void UsbService::NotifyDeviceRemoved(scoped_refptr<UsbDevice> device) { … }
void UsbService::NotifyWillDestroyUsbService() { … }
}