<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<blockquote cite="mid4408EA7F.7090601@sun.com" type="cite"><small></small>
<blockquote type="cite">
<blockquote type="cite"><small>like "info.scan_state" property,
with values 'in_progress' and 'done'.
<br>
</small></blockquote>
<small><br>
</small></blockquote>
</blockquote>
<small>This would be indeed a great solution to our problem. <br>
</small>
<blockquote cite="mid4408EA7F.7090601@sun.com" type="cite">
<blockquote type="cite"><small>If so, it would be also possible to
have a callback, like
<br>
libhal_rescan_complete(). The ideal solution would be something
<br>
like libhal_device_scan_complete(), but ...
<br>
</small></blockquote>
<small><br>
You're thinking in terms of libhal again... Libhal is just a wrapper.
If there is such a property, you simply subscribe to "PropertyModified"
signal, whatever D-BUS binding or wrapper library you're using.
<br>
<br>
</small>
<blockquote type="cite">
<blockquote type="cite"><small>free to scan or not scan for volumes
whenever it feels like, or depending on runtime conditions known only
to HAL.
<br>
</small></blockquote>
<small><br>
Can you explain to me the last two lines? I mean, why would it be a
<br>
problem to eg invoke a signal to a user (ie through LibHal) after the
<br>
probing/searching for volumes has finished?
<br>
</small></blockquote>
<small><br>
We could add a signal for that, but we could instead add a property and
use the existing "PropertyModified" signal. Less code change that way.
<br>
<br>
</small>
<blockquote type="cite"><small>I noticed that in hald/blockdev.c
<br>
</small></blockquote>
<small><br>
hald/linux2/blockdev.c, actually., which is critical: I'm not talking
about Linux-specific implementation, I'm talking about HAL in general.
<br>
<br>
</small>
<blockquote type="cite"><small>I guess this is what you mean. After
that, blockdev_callouts_add_done()
<br>
is called and the device is removed from the TDL and added to the GDL.
<br>
</small></blockquote>
<small><br>
That's what happens in the Linux backend. In general, device is added
to GDL after all pre-probe (info.callouts.preprobe), probe and add
(info.callouts.add) callouts are finished.
<br>
<br>
</small>
<blockquote type="cite"><small>So when a volume is added, that's a
separate hotplug event?
<br>
</small></blockquote>
<small><br>
Depends on HAL implementation, but it doesn't matter ("hotplug events"
in the Linux backend are not really what they sound like). What matters
is that when a volume is added, that's a separate HAL device object and
a separate "DeviceAdded" signal.
<br>
<br>
-Artem.
<br>
_______________________________________________
<br>
hal mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:hal@lists.freedesktop.org">hal@lists.freedesktop.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/hal">http://lists.freedesktop.org/mailman/listinfo/hal</a>
<br>
<br>
</small></blockquote>
<small><br>
</small>
</body>
</html>