add (hopefully) support for vendors
[goodfet] / client / USBClass.py
1 # USBClass.py
2 #
3 # Contains class definition for USBClass, intended as a base class (in the OO
4 # sense) for implementing device classes (in the USB sense), eg, HID devices,
5 # mass storage devices.
6
7 class USBClass:
8     name = "generic USB device class"
9
10     # maps bRequest to handler function
11     request_handlers = { }
12
13     def __init__(self, verbose=0):
14         self.interface = None
15         self.verbose = verbose
16
17         self.setup_request_handlers()
18
19     def set_interface(self, interface):
20         self.interface = interface
21
22     def setup_request_handlers(self):
23         """To be overridden for subclasses to modify self.class_request_handlers"""
24         pass
25