initial ftdi implementation
[goodfet] / client / USBVendor.py
diff --git a/client/USBVendor.py b/client/USBVendor.py
new file mode 100644 (file)
index 0000000..9cc567a
--- /dev/null
@@ -0,0 +1,24 @@
+# USBVendor.py
+#
+# Contains class definition for USBVendor, intended as a base class (in the OO
+# sense) for implementing device vendors.
+
+class USBVendor:
+    name = "generic USB device vendor"
+
+    # maps bRequest to handler function
+    request_handlers = { }
+
+    def __init__(self, verbose=0):
+        self.interface = None
+        self.verbose = verbose
+
+        self.setup_request_handlers()
+
+    def set_interface(self, interface):
+        self.interface = interface
+
+    def setup_request_handlers(self):
+        """To be overridden for subclasses to modify self.request_handlers"""
+        pass
+