原来的接口是USB复合设备的驱动,一个复合设备有多个功能,包含 键盘、鼠标、光驱、软驱、U盘、LCD 功能 这里按照功能进行类的拆分
接口用途
- libmc4lua KVM使用键盘、鼠标、光驱、软驱
- soctrl U盘功能
- ums U盘功能
对比
<tt>usb_compound_connect</tt>/<tt>usb_compound_disconnect</tt>/<tt>usb_compound_state_get</tt>
- 原接口
vector<uint32_t> usb_compound_connect(uint32_t usb_id, vector<uint32_t> fn_list);
void usb_compound_disconnect(uint32_t usb_id);
uint32_t usb_compound_state_get(uint32_t usb_id, uint32_t fn_id);
- 新接口
void Usb::connect(int32_t index);
uint32_t Usb::disconnect(int32_t index);
uint32_t Usb::is_connected(int32_t index);
- 变更说明 在基类中实现对应方法,每个功能实现一个类
<tt>usb_compound_read</tt>/<tt>usb_compound_write</tt>
- 原接口
int32_t usb_compound_read(UsbBufferInfo &info) const;
int32_t usb_compound_write(UsbBufferInfo &info) const;
- 新接口
void UsbXxx::read(int32_t index);
void UsbXxx::write(int32_t index);
- 变更说明 根据每个功能的使用定义read/write,明确报文内容