Class: USB::Setting

Inherits:
Data
  • Object
show all
Defined in:
lib/usb.rb,
ext/usb.c

Instance Method Summary collapse

Instance Method Details

#bAlternateSettingObject

USB::Setting#bAlternateSetting



363
# File 'ext/usb.c', line 363

static VALUE rusb_setting_bAlternateSetting(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bAlternateSetting); }

#bDescriptorTypeObject

USB::Setting#bDescriptorType



357
# File 'ext/usb.c', line 357

static VALUE rusb_setting_bDescriptorType(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bDescriptorType); }

#bInterfaceClassObject

USB::Setting#bInterfaceClass



369
# File 'ext/usb.c', line 369

static VALUE rusb_setting_bInterfaceClass(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bInterfaceClass); }

#bInterfaceNumberObject

USB::Setting#bInterfaceNumber



360
# File 'ext/usb.c', line 360

static VALUE rusb_setting_bInterfaceNumber(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bInterfaceNumber); }

#bInterfaceProtocolObject

USB::Setting#bInterfaceProtocol



375
# File 'ext/usb.c', line 375

static VALUE rusb_setting_bInterfaceProtocol(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bInterfaceProtocol); }

#bInterfaceSubClassObject

USB::Setting#bInterfaceSubClass



372
# File 'ext/usb.c', line 372

static VALUE rusb_setting_bInterfaceSubClass(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bInterfaceSubClass); }

#bLengthObject

USB::Setting#bLength



354
# File 'ext/usb.c', line 354

static VALUE rusb_setting_bLength(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bLength); }

#bNumEndpointsObject

USB::Setting#bNumEndpoints



366
# File 'ext/usb.c', line 366

static VALUE rusb_setting_bNumEndpoints(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->bNumEndpoints); }

#busObject



352
# File 'lib/usb.rb', line 352

def bus() self.interface.configuration.device.bus end

#configurationObject



354
# File 'lib/usb.rb', line 354

def configuration() self.interface.configuration end

#descriptionObject



347
348
349
350
# File 'lib/usb.rb', line 347

def description
  return @description if defined? @description
  @description = self.device.open {|h| h.get_string_simple(self.iInterface) }
end

#deviceObject



353
# File 'lib/usb.rb', line 353

def device() self.interface.configuration.device end

#endpointsObject

USB::Setting#endpoints



381
382
383
384
385
386
387
388
389
390
# File 'ext/usb.c', line 381

static VALUE
rusb_setting_endpoints(VALUE v)
{
  struct usb_interface_descriptor *p = get_usb_interface_descriptor(v);
  int i;
  VALUE endpoint = rb_ary_new2(p->bNumEndpoints);
  for (i = 0; i < p->bNumEndpoints; i++)
    rb_ary_store(endpoint, i, rusb_endpoint_descriptor_make(&p->endpoint[i], v));
  return endpoint;
}

#iInterfaceObject

USB::Setting#iInterface



378
# File 'ext/usb.c', line 378

static VALUE rusb_setting_iInterface(VALUE v) { return INT2FIX(get_usb_interface_descriptor(v)->iInterface); }

#inspectObject



333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/usb.rb', line 333

def inspect
  if self.revoked?
    "\#<#{self.class} revoked>"
  else
    attrs = []
    attrs << self.bAlternateSetting.to_s
    devclass = USB.dev_string(self.bInterfaceClass, self.bInterfaceSubClass, self.bInterfaceProtocol)
    attrs << devclass
    desc = self.description
    attrs << desc if desc != '?'
    "\#<#{self.class} #{attrs.join(' ')}>"
  end
end

#interfaceObject

USB::Interface#interface



351
# File 'ext/usb.c', line 351

static VALUE rusb_setting_interface(VALUE v) { return get_rusb_interface_descriptor(v)->parent; }

#revoked?Boolean

USB::Setting#revoked?

Returns:

  • (Boolean)


344
345
346
347
348
# File 'ext/usb.c', line 344

static VALUE
rusb_setting_revoked_p(VALUE v)
{
  return RTEST(!check_usb_interface_descriptor(v));
}