class UVC::ClassSpecificVCInterfaceDescriptor

Attributes

bDescriptorSubType[R]
bDescriptorType[R]
rest[R]

Public Class Methods

new(bDescriptorType, bDescriptorSubType, rest=nil) click to toggle source
# File lib/uvc.rb, line 265
def initialize(bDescriptorType, bDescriptorSubType, rest=nil)
        @bDescriptorType = bDescriptorType
        @bDescriptorSubType = bDescriptorSubType
        @rest = nil
end
parse(bytes) click to toggle source
# File lib/uvc.rb, line 243
def self.parse(bytes)
        bDescriptorType, bDescriptorSubType, rest = *bytes.unpack("cca*")
        case [bDescriptorType, bDescriptorSubType]
        when [CS_INTERFACE, VC_HEADER]
                VCInterfaceHeaderDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_INPUT_TERMINAL]
                InputTerminalDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_OUTPUT_TERMINAL]
                OutputTerminalDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_SELECTOR_UNIT]
                SelectorUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_PROCESSING_UNIT]
                ProcessingUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_ENCODING_UNIT]
                EncodingUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        when [CS_INTERFACE, VC_EXTENSION_UNIT]
                ExtensionUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest)
        else
                self.new(bDescriptorType, bDescriptorSubType, rest)
        end
end
parse_array(extra) click to toggle source
# File lib/uvc.rb, line 232
def self.parse_array(extra)
        extra = StringIO.new(extra, 'r')
        descs = []
        until extra.eof?
                len = extra.read(1).ord
                desc = ClassSpecificVCInterfaceDescriptor.parse(extra.read(len-1))
                descs << desc
        end
        descs
end

Public Instance Methods

short_inspect() click to toggle source
# File lib/uvc.rb, line 271
def short_inspect
        "%s" % [
                self.class.name.sub(/Descriptor$/, ''),
        ]
end