From 3e59eeac6ca09a18be3d689c77dcbe74753317a5 Mon Sep 17 00:00:00 2001 From: Sebastian Zagrodzki Date: Sun, 9 Apr 2017 16:41:38 +0200 Subject: [PATCH] replace class/subclass with Class type --- usb/config.go | 4 ++-- usb/constants.go | 6 +++++- usb/endpoint_info_test.go | 4 ++-- usb/fakelibusb_test.go | 10 +++++----- usb/libusb.go | 4 ++-- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/usb/config.go b/usb/config.go index da36aeb..570ab37 100644 --- a/usb/config.go +++ b/usb/config.go @@ -56,8 +56,8 @@ func (i InterfaceInfo) String() string { type InterfaceSetup struct { Number uint8 Alternate uint8 - IfClass uint8 - IfSubClass uint8 + IfClass Class + IfSubClass Class IfProtocol uint8 Endpoints []EndpointInfo } diff --git a/usb/constants.go b/usb/constants.go index d1d1d02..f600a49 100644 --- a/usb/constants.go +++ b/usb/constants.go @@ -17,6 +17,7 @@ package usb // #include import "C" +import "strconv" type Class uint8 @@ -51,7 +52,10 @@ var classDescription = map[Class]string{ } func (c Class) String() string { - return classDescription[c] + if d, ok := classDescription[c]; ok { + return d + } + return strconv.Itoa(int(c)) } type DescriptorType uint8 diff --git a/usb/endpoint_info_test.go b/usb/endpoint_info_test.go index c7159f7..9063168 100644 --- a/usb/endpoint_info_test.go +++ b/usb/endpoint_info_test.go @@ -27,7 +27,7 @@ var testBulkInEP = EndpointInfo{ var testBulkInSetup = InterfaceSetup{ Number: 0, Alternate: 0, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{testBulkInEP}, } @@ -43,6 +43,6 @@ var testIsoOutEP = EndpointInfo{ var testIsoOutSetup = InterfaceSetup{ Number: 0, Alternate: 0, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{testIsoOutEP}, } diff --git a/usb/fakelibusb_test.go b/usb/fakelibusb_test.go index 0cbfc00..0052c92 100644 --- a/usb/fakelibusb_test.go +++ b/usb/fakelibusb_test.go @@ -43,7 +43,7 @@ var ( Setups: []InterfaceSetup{{ Number: 0, Alternate: 0, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{{ Number: 1, Direction: EndpointDirectionOut, @@ -79,14 +79,14 @@ var ( Setups: []InterfaceSetup{{ Number: 0, Alternate: 0, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, }}, }, { Number: 1, Setups: []InterfaceSetup{{ Number: 1, Alternate: 0, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{{ Number: 5, Direction: EndpointDirectionOut, @@ -103,7 +103,7 @@ var ( }, { Number: 1, Alternate: 1, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{{ Number: 5, Direction: EndpointDirectionOut, @@ -118,7 +118,7 @@ var ( }, { Number: 1, Alternate: 2, - IfClass: uint8(ClassVendorSpec), + IfClass: ClassVendorSpec, Endpoints: []EndpointInfo{{ Number: 5, Direction: EndpointDirectionIn, diff --git a/usb/libusb.go b/usb/libusb.go index 9e4da56..e1d81b9 100644 --- a/usb/libusb.go +++ b/usb/libusb.go @@ -241,8 +241,8 @@ func (libusbImpl) getDeviceDesc(d *libusbDevice) (*Descriptor, error) { i := InterfaceSetup{ Number: uint8(alt.bInterfaceNumber), Alternate: uint8(alt.bAlternateSetting), - IfClass: uint8(alt.bInterfaceClass), - IfSubClass: uint8(alt.bInterfaceSubClass), + IfClass: Class(alt.bInterfaceClass), + IfSubClass: Class(alt.bInterfaceSubClass), IfProtocol: uint8(alt.bInterfaceProtocol), } var ends []C.struct_libusb_endpoint_descriptor