On Wed, 2008-06-18 at 23:48 -0700, Artem Kachitchkine wrote:
> The "signal between X and Y" or "X sends signal to Y" language is
> confusing. DBus signals in general are not peer to peer, they are
> messages broadcast on a bus. Arbitrary number of applications can listen
> on the bus. It is possible, however, to establish a peer to peer DBus
> connection between two applications, much like FIFOs or System V message
> queues. You need to specify:
Artem,
Thanks for your review.
Here is updates on this part, please review.
Network Printer (via SNMP):
- Enable network printer discovery service,
svc:/network/device-discovery/printers:snmp
- The hald network printer add-on broadcast a SNMP GET
- Network printer which is SNMP capable would then respond to it
- The SNMP agent then populates the HAL Device Tree with the network
printer data.
- hald detected changes in the HAL device tree and deduces that these
are printers, it sends out the "DeviceAdded" DBUS signal.
- ospm-applet, which is a user's session daemon, is waiting and
responding to these signals. Based on the unique udi (Unique Device
Identifier) it received from hald, it looks up the rest of the data
from the Hal device tree. Then it adds print queues for these
printers in the background until these are all done.
- ospm-applet pop-ups a generic message as a notification bubble
notifying the user that network print queues have been added.
- ospm-applet also sends out a DBUS message, "PrinterAdded".
- If the Print Manager is running at the time, it will be notified by
the message "PrinterAdded", and will refresh its view immediately
and hence shows the newly added queues. Otherwise, these messages
are ignored.
>
> - the path of the object(s) that implement the
> org.opensolaris.ospm.applet interface
>
> - which of the many possible DBus buses (system? session?) or private
> connections the object is instantiated on
>
> - signal parameters, if any (UDI? queue name?)
We're using two DBus signals. One is a system one "??????DeviceAdded",
another one is our application customized one "???PrinterAdded"
1. ???DeviceAdded
path: /org/freedesktop/Hal/Manager
interface: ???org.freedesktop.Hal.Manager
bus: system
2. PrinterAdded
path: ???/org/opensolaris/ospm/applet
interface: ???org.opensolaris.ospm.applet
??? bus: session
Where need I mention this in the arc document?
Thanks,
Halton.
>
> Also your proposal has three variations on the signal name:
> PrinterAdded, printerAdded and Printeradded. Which one is it?
>
> -Artem