From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nick Yin" Date: Sun, 11 Apr 2004 02:17:01 +0000 Subject: RE: [PATCH] udev_dbus changes Message-Id: List-Id: References: <20040411015107.GA4288@vrfy.org> In-Reply-To: <20040411015107.GA4288@vrfy.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Kay, Greate! I also need the listener script to watch the sent dbus messages. Nick >From: Kay Sievers >To: Greg KH >CC: hotplug >Subject: [PATCH] udev_dbus changes >Date: Sun, 11 Apr 2004 03:51:07 +0200 > >Here we change extras/dbus/* to > o install the binary in /etc/dev.d > o append .dev to the binary > o add David's copyright > o add the listener script to watch the sent dbus messages > o removed the undefined udev_log variable > o switch printf() to dbg() > >thanks, >Kay > >diff -Nru a/extras/dbus/Makefile b/extras/dbus/Makefile >--- a/extras/dbus/Makefile Sun Apr 11 03:38:42 2004 >+++ b/extras/dbus/Makefile Sun Apr 11 03:38:42 2004 >@@ -23,7 +23,7 @@ > sbindir = ${exec_prefix}/sbin > usrbindir = ${exec_prefix}/usr/bin > mandir = ${prefix}/usr/share/man >-hotplugdir = ${etcdir}/hotplug.d/default >+devddir = ${etcdir}/dev.d/default > dbusdir = ${etcdir}/dbus-1/system.d > configdir = ${etcdir}/udev/ > initdir = ${etcdir}/init.d/ >@@ -53,9 +53,11 @@ > install-dbus-policy: > $(INSTALL) -d $(DESTDIR)$(dbusdir) > $(INSTALL_DATA) etc/dbus-1/system.d/udev_sysbus_policy.conf >$(DESTDIR)$(dbusdir) >+ $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(devddir)/$(PROG).dev > > uninstall-dbus-policy: > - rm $(DESTDIR)$(dbusdir)/udev_sysbus_policy.conf >+ - rm $(DESTDIR)$(devddir)/$(PROG).dev > > install: install-dbus-policy all > >diff -Nru a/extras/dbus/dbus-listener.py b/extras/dbus/dbus-listener.py >--- /dev/null Wed Dec 31 16:00:00 1969 >+++ b/extras/dbus/dbus-listener.py Sun Apr 11 03:38:42 2004 >@@ -0,0 +1,25 @@ >+#!/usr/bin/python >+ >+import dbus >+import gtk >+ >+def udev_signal_received(dbus_iface, member, service, object_path, >+message): >+ [filename, sysfs_path] = message.get_args_list() >+ if member='NodeCreated': >+ print 'Node %s created for %s'%(filename, sysfs_path) >+ elif member='NodeDeleted': >+ print 'Node %s deleted for %s'%(filename, sysfs_path) >+ >+def main(): >+ bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM) >+ bus.add_signal_receiver(udev_signal_received, >+ 'org.kernel.udev.NodeMonitor', # interface >+ 'org.kernel.udev', # service >+ '/org/kernel/udev/NodeMonitor') # object >+ >+ gtk.mainloop() >+ >+if __name__ = '__main__': >+ main() >+ >diff -Nru a/extras/dbus/udev_dbus.c b/extras/dbus/udev_dbus.c >--- a/extras/dbus/udev_dbus.c Sun Apr 11 03:38:42 2004 >+++ b/extras/dbus/udev_dbus.c Sun Apr 11 03:38:42 2004 >@@ -1,3 +1,23 @@ >+/* >+ * udev_dbus.c >+ * >+ * Copyright (C) 2003 David Zeuthen >+ * >+ * This program is free software; you can redistribute it and/or modify it >+ * under the terms of the GNU General Public License as published by the >+ * Free Software Foundation version 2 of the License. >+ * >+ * This program is distributed in the hope that it will be useful, but >+ * WITHOUT ANY WARRANTY; without even the implied warranty of >+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+ * General Public License for more details. >+ * >+ * You should have received a copy of the GNU General Public License along >+ * with this program; if not, write to the Free Software Foundation, Inc., >+ * 675 Mass Ave, Cambridge, MA 02139, USA. >+ * >+ */ >+ > #include > #include > #include >@@ -18,21 +38,18 @@ > { > va_list args; > >- if (!udev_log) >- return; >- > va_start(args, format); > vsyslog(level, format, args); > va_end(args); > } > #endif > >-/** variable for the connection the to system message bus or #NULL >+/* variable for the connection the to system message bus or NULL > * if we cannot connect or acquire the org.kernel.udev service > */ > static DBusConnection* sysbus_connection; > >-/** Disconnect from the system message bus */ >+/* disconnect from the system message bus */ > static void sysbus_disconnect(void) > { > if (sysbus_connection = NULL) >@@ -42,12 +59,12 @@ > sysbus_connection = NULL; > } > >-/** Connect to the system message bus */ >+/* connect to the system message bus */ > static void sysbus_connect(void) > { > DBusError error; > >- /* Connect to a well-known bus instance, the system bus */ >+ /* connect to a well-known bus instance, the system bus */ > dbus_error_init(&error); > sysbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); > if (sysbus_connection = NULL) { >@@ -70,15 +87,15 @@ > dbus_bus_acquire_service(sysbus_connection, "org.kernel.udev", 0, > &error); > if (dbus_error_is_set(&error)) { >- printf("cannot acquire org.kernel.udev service, error %s: %s'", >- error.name, error.message); >+ dbg("cannot acquire org.kernel.udev service, error %s: %s'", >+ error.name, error.message); > sysbus_disconnect(); > return; > } > } > > >-/** Send out a signal that a device node is created >+/* send out a signal that a device node is created > * > * @param devname name of the device node, e.g. /dev/sda1 > * @param path Sysfs path of device >@@ -105,7 +122,7 @@ > dbus_connection_flush(sysbus_connection); > } > >-/** Send out a signal that a device node is deleted >+/* send out a signal that a device node is deleted > * > * @param devname Name of the device node, e.g. /udev/sda1 > * @param path Sysfs path of device _________________________________________________________________ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid963 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel