HAL 0.1 release
david at fubar.dk
Sat Oct 11 00:00:11 EEST 2003
On Fri, 2003-10-10 at 22:13, Bryan W. Headley wrote:
> On the other hand, let's consider my multi-function printer: it's a
> printer, fax, copier, scanner, AND it has a slot to plug in those camera
> memory cards. (And yes, it does let me mount the cards from there,
> although the intent was more to have a 'camera printer')
> So what you are looking at is this:
> <interface_point bus="USB" path="2-2:1.0">
> <device type="Printer">
> <printer-capacities> ... </printer-capacities>
> <device type="Scanner">
> <scanner-capacities> ... </scanner-capacities>
> <!-- ... -->
USB device with multiple interfaces, yes.. I thought the only example
was USB speakers (audio and HID). So basically, I suspect that the
device info file would assign (please shoot this down if it is not
Capability = Printer, Modem, Copier, Scanner, Storage
The thing is really that HAL doesn't need to care. No matter what, you
will still need use a ''capability'' specific library to do the hard
magic (and as Joe points out CUPS would do this).
We do need to set required properties such as Storage.KernelDevice. For
storage HAL would pick up an event from udev (on 2.4 we would be
screwed). I'm not sure what is required for the other capabilities yet,
but we need to figure out in the spec.
ps. Does this device exist? Does it show up as a single USB device with
multiple interfaces? My USB keyboard with hub shows up as two devices
actually. Either way, you make a good point!
> 1. The responsibility to broadcast availability rests with each element
> of 'devices'.
Depends - your device may be a single object with multiple capabilities.
Or multiple devices with single capabilities; that's really vendor
> 2. We're not overly concerned that all these devices come from the same
> interface point. Or, physically, from the same box. Maybe the OS is,
> especially if you try to copy while scanning, but that is its issue.
So we could show each USB interface as a single device?
More information about the xdg