Use a switch statement

This commit is contained in:
Eric Tang
2018-06-28 16:10:26 -07:00
parent 5d621880ec
commit 1bd8c7dca8
+23 -17
View File
@@ -12,23 +12,29 @@ usb_status_t USB_DeviceGetHidDescriptor(
usb_status_t USB_DeviceGetHidReportDescriptor( usb_status_t USB_DeviceGetHidReportDescriptor(
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor) usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor)
{ {
if (USB_GENERIC_HID_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) { switch (hidReportDescriptor->interfaceNumber) {
hidReportDescriptor->buffer = UsbGenericHidReportDescriptor; case USB_GENERIC_HID_INTERFACE_INDEX:
hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH; hidReportDescriptor->buffer = UsbGenericHidReportDescriptor;
} else if (USB_BASIC_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) { hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH;
hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor; break;
hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH; case USB_BASIC_KEYBOARD_INTERFACE_INDEX:
} else if (USB_MEDIA_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) { hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor;
hidReportDescriptor->buffer = UsbMediaKeyboardReportDescriptor; hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH; break;
} else if (USB_SYSTEM_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) { case USB_MEDIA_KEYBOARD_INTERFACE_INDEX:
hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor; hidReportDescriptor->buffer = UsbMediaKeyboardReportDescriptor;
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH; hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
} else if (USB_MOUSE_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) { break;
hidReportDescriptor->buffer = UsbMouseReportDescriptor; case USB_SYSTEM_KEYBOARD_INTERFACE_INDEX:
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH; hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor;
} else { hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
return kStatus_USB_InvalidRequest; break;
case USB_MOUSE_INTERFACE_INDEX:
hidReportDescriptor->buffer = UsbMouseReportDescriptor;
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH;
break;
default:
return kStatus_USB_InvalidRequest;
} }
return kStatus_USB_Success; return kStatus_USB_Success;
} }