From 351a91c7365c086942cd9409f9998b01c8b26280 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 16 May 2003 16:01:56 +0000 Subject: 2003-05-16 Colin Walters * 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. --- tools/dbus-monitor.1 | 6 +++--- tools/dbus-monitor.c | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) (limited to 'tools') 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); -- cgit