OpenHarmony之USB Manager 架构深度解析
1. 整体架构
OpenHarmony USB管理器采用三层架构设计:
USB API:提供USB的基础API,主要包含查询USB设备的列表、设备插拔通知、USB HOST/DEVICE 功能切换、批量数据传输、控制命令传输、USB设备打开的权限控制及USB device模式下的function功能切换等。 USB
Service:主要实现HAL层数据接收、解析、分发,前后台的策略管控,对该设备USB的管理,USB权限管控等。 USB
HAL层:提供给用户态可直接调用的驱动能力接口,按照功能分类三大类:DDK初始化类、对interface对象操作类、对request对象操作类,可以提供DDK初始化、interface绑定和释放,打开和关闭操作,request的申请和释放,同步和异步传输等
1.1核心架构层次
USB Manager Service (顶级服务层)
├── UsbService (系统服务) - base/usb/usb_manager/services/native/src/usb_service.cpp
├── UsbHostManager (主机管理) - base/usb/usb_manager/services/native/src/usb_host_manager.cpp
├── UsbRightManager (权限管理) - base/usb/usb_manager/services/native/src/usb_right_manager.cpp
├── UsbPortMan