linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Nick Yin" <nickyin@hotmail.com>
To: linux-hotplug@vger.kernel.org
Subject: RE: [PATCH] udev_dbus changes
Date: Sun, 11 Apr 2004 02:17:01 +0000	[thread overview]
Message-ID: <BAY7-F64iyAphwFutJL000344fa@hotmail.com> (raw)
In-Reply-To: <20040411015107.GA4288@vrfy.org>

Kay,

Greate! I also need the listener script to watch the sent dbus messages.

Nick

>From: Kay Sievers <kay.sievers@vrfy.org>
>To: Greg KH <greg@kroah.com>
>CC: hotplug <linux-hotplug-devel@lists.sourceforge.net>
>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 <david@fubar.dk>
>+ *
>+ *	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 <stdlib.h>
>  #include <string.h>
>  #include <stdio.h>
>@@ -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_id\x1470&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

  reply	other threads:[~2004-04-11  2:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-11  1:51 [PATCH] udev_dbus changes Kay Sievers
2004-04-11  2:17 ` Nick Yin [this message]
2004-04-11  8:52 ` Marco d'Itri
2004-04-11 10:05 ` Kay Sievers
2004-04-11 10:07 ` Marco d'Itri
2004-04-11 10:43 ` Kay Sievers
2004-04-11 10:47 ` Kay Sievers
2004-04-11 12:03 ` Marco d'Itri
2004-04-13  0:21 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BAY7-F64iyAphwFutJL000344fa@hotmail.com \
    --to=nickyin@hotmail.com \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).