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