summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--bus/Makefile.am1
-rw-r--r--tools/dbus-monitor.16
-rw-r--r--tools/dbus-monitor.c25
4 files changed, 39 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f3326d9..1d60b5a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2003-05-16 Colin Walters <walters@verbum.org>
+
+ * tools/dbus-monitor.c: Add --session argument and usage()
+ function.
+
+ * tools/dbus-monitor.1: Update with new --session arg.
+
+ * bus/Makefile.am (install-data-hook): Create
+ $(libdir)/dbus-1.0/services so that the session bus is happy.
+
2003-05-15 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
diff --git a/bus/Makefile.am b/bus/Makefile.am
index 8c316f30..27735077 100644
--- a/bus/Makefile.am
+++ b/bus/Makefile.am
@@ -86,6 +86,7 @@ clean-local:
install-data-hook:
$(mkinstalldirs) $(DESTDIR)/$(localstatedir)/run/dbus
$(mkinstalldirs) $(DESTDIR)/$(configdir)/system.d
+ $(mkinstalldirs) $(DESTDIR)/$(libdir)/dbus-1.0/services
#### Init scripts fun
SCRIPT_IN_FILES=messagebus.in
diff --git a/tools/dbus-monitor.1 b/tools/dbus-monitor.1
index 2c728735..ff4172ec 100644
--- a/tools/dbus-monitor.1
+++ b/tools/dbus-monitor.1
@@ -8,6 +8,7 @@ dbus-monitor \- debug probe to print message bus messages
.SH SYNOPSIS
.PP
.B dbus-monitor
+[\-\-session]
.SH DESCRIPTION
@@ -20,9 +21,8 @@ the big picture.
There are two well-known message buses: the systemwide message bus
(installed on many systems as the "messagebus" service) and the
per-user-login-session message bus (started each time a user logs in).
-Right now, \fIdbus-monitor\fP is hardcoded to only work with the
-systemwide message bus. It should really be extended to have a
-\-\-session command line option as with \fIdbus-send\fP.
+\fIdbus-monitor\fP by default monitors the systemwide bus; to monitor the
+session bus, specify \-\-session.
.PP
The message bus configuration may keep \fIdbus-monitor\fP from seeing
diff --git a/tools/dbus-monitor.c b/tools/dbus-monitor.c
index 8a8e6585..441ead38 100644
--- a/tools/dbus-monitor.c
+++ b/tools/dbus-monitor.c
@@ -89,6 +89,13 @@ handler_func (DBusMessageHandler *handler,
return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
}
+static void
+usage (char *name, int ecode)
+{
+ fprintf (stderr, "Usage: %s [--session]\n", name);
+ exit (ecode);
+}
+
int
main (int argc, char *argv[])
{
@@ -97,6 +104,24 @@ main (int argc, char *argv[])
DBusBusType type = DBUS_BUS_SYSTEM;
DBusMessageHandler *handler;
GMainLoop *loop;
+ int i;
+
+ for (i = 1; i < argc; i++)
+ {
+ char *arg = argv[i];
+
+ if (!strcmp (arg, "--session"))
+ type = DBUS_BUS_SESSION;
+ else if (!strcmp (arg, "--help"))
+ usage (argv[0], 0);
+ else if (!strcmp (arg, "--"))
+ break;
+ else if (arg[0] == '-')
+ usage (argv[0], 1);
+ }
+
+ if (argc > 2)
+ usage (argv[0], 1);
loop = g_main_loop_new (NULL, FALSE);