15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)"""Default gadget configuration.""" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)import gadget 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)import usb_constants 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)import usb_descriptors 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class DefaultGadget(gadget.Gadget): 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) def __init__(self): 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) device_desc = usb_descriptors.DeviceDescriptor( 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) idVendor=usb_constants.VendorID.GOOGLE, 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) idProduct=usb_constants.ProductID.GOOGLE_TEST_GADGET, 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bcdUSB=0x0200, 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) iManufacturer=1, 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) iProduct=2, 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) iSerialNumber=3, 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bcdDevice=0x0100) 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) fs_config_desc = usb_descriptors.ConfigurationDescriptor( 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bmAttributes=0x80, 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) MaxPower=50) 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) hs_config_desc = usb_descriptors.ConfigurationDescriptor( 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bmAttributes=0x80, 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) MaxPower=50) 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) interface_desc = usb_descriptors.InterfaceDescriptor( 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bInterfaceNumber=0) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) fs_config_desc.AddInterface(interface_desc) 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) hs_config_desc.AddInterface(interface_desc) 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) super(DefaultGadget, self).__init__( 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) device_desc, fs_config_desc, hs_config_desc) 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) self.AddStringDescriptor(1, "Google Inc.") 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) self.AddStringDescriptor(2, "Test Gadget (default state)") 42