Android-cuttlefish cvd tool
Namespaces | Functions | Variables
usb_libusb_hotplug.cpp File Reference
#include "usb_libusb_hotplug.h"
#include "adb_trace.h"
#include "adb_utils.h"
#include "sysdeps.h"
#include "usb_libusb.h"
#include "usb_libusb_inhouse_hotplug.h"
#include <chrono>
#include <mutex>
#include <optional>
#include <thread>
#include <unordered_map>
#include "libusb/libusb.h"
Include dependency graph for usb_libusb_hotplug.cpp:

Namespaces

namespace  libusb
 

Functions

static std::atomic< int > connecting_devices (0)
 
static std::unordered_map< libusb_device *, std::weak_ptr< LibUsbConnection > > GUARDED_BY (connections_mutex_) connections_
 
static void process_device (libusb_device *raw_device)
 
static void device_disconnected (libusb_device *dev)
 
static void device_connected (libusb_device *device)
 
static void hotplug_thread ()
 
LIBUSB_CALL int hotplug_callback (libusb_context *, libusb_device *device, libusb_hotplug_event event, void *)
 
static void libusb::usb_init_libusb_hotplug ()
 
static void libusb::usb_init_inhouse_hotplug ()
 
void libusb::usb_init ()
 

Variables

static std::mutex connections_mutex_
 
static auto & hotplug_queue = *new BlockingQueue<std::pair<libusb_hotplug_event, libusb_device*>>()
 

Function Documentation

◆ connecting_devices()

static std::atomic< int > connecting_devices ( )
static

◆ device_connected()

static void device_connected ( libusb_device *  device)
static

◆ device_disconnected()

static void device_disconnected ( libusb_device *  dev)
static

◆ GUARDED_BY()

static std::unordered_map< libusb_device *, std::weak_ptr< LibUsbConnection > > GUARDED_BY ( connections_mutex_  )
static

◆ hotplug_callback()

LIBUSB_CALL int hotplug_callback ( libusb_context *  ,
libusb_device *  device,
libusb_hotplug_event  event,
void *   
)

◆ hotplug_thread()

static void hotplug_thread ( )
static

◆ process_device()

static void process_device ( libusb_device *  raw_device)
static

Variable Documentation

◆ connections_mutex_

std::mutex connections_mutex_
static

◆ hotplug_queue

auto& hotplug_queue = *new BlockingQueue<std::pair<libusb_hotplug_event, libusb_device*>>()
static