summaryrefslogtreecommitdiffstats
path: root/tools/dbus-print-message.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dbus-print-message.c')
-rw-r--r--tools/dbus-print-message.c52
1 files changed, 28 insertions, 24 deletions
diff --git a/tools/dbus-print-message.c b/tools/dbus-print-message.c
index 572a1d14..b3559256 100644
--- a/tools/dbus-print-message.c
+++ b/tools/dbus-print-message.c
@@ -44,43 +44,45 @@ print_message (DBusMessage *message)
{
DBusMessageIter iter;
const char *sender;
+ const char *destination;
int message_type;
+ int count;
message_type = dbus_message_get_type (message);
- sender = dbus_message_get_sender (message);
-
+ sender = dbus_message_get_sender (message);
+ destination = dbus_message_get_destination (message);
+
+ printf ("%s sender=%s -> dest=%s",
+ type_to_name (message_type),
+ sender ? sender : "(null sender)",
+ destination ? destination : "(null destination)");
+
switch (message_type)
{
case DBUS_MESSAGE_TYPE_METHOD_CALL:
case DBUS_MESSAGE_TYPE_SIGNAL:
- printf ("%s interface=%s; member=%s; sender=%s\n",
- type_to_name (message_type),
+ printf (" interface=%s; member=%s\n",
dbus_message_get_interface (message),
- dbus_message_get_member (message),
- sender ? sender : "(no sender)");
+ dbus_message_get_member (message));
break;
case DBUS_MESSAGE_TYPE_METHOD_RETURN:
- printf ("%s; sender=%s\n",
- type_to_name (message_type),
- sender ? sender : "(no sender)");
+ printf ("\n");
break;
case DBUS_MESSAGE_TYPE_ERROR:
- printf ("%s name=%s; sender=%s\n",
- type_to_name (message_type),
- dbus_message_get_error_name (message),
- sender ? sender : "(no sender)");
+ printf (" error_name=%s\n",
+ dbus_message_get_error_name (message));
break;
default:
- printf ("Message of unknown type %d received\n",
- message_type);
+ printf ("\n");
break;
}
-
- dbus_message_iter_init (message, &iter);
+ dbus_message_iter_init (message, &iter);
+ count = 0;
+
do
{
int type = dbus_message_iter_get_arg_type (&iter);
@@ -98,38 +100,40 @@ print_message (DBusMessage *message)
{
case DBUS_TYPE_STRING:
dbus_message_iter_get_basic (&iter, &str);
- printf ("string:%s\n", str);
+ printf (" %d string \"%s\"\n", count, str);
break;
case DBUS_TYPE_INT32:
dbus_message_iter_get_basic (&iter, &int32);
- printf ("int32:%d\n", int32);
+ printf (" %d int32 %d\n", count, int32);
break;
case DBUS_TYPE_UINT32:
dbus_message_iter_get_basic (&iter, &uint32);
- printf ("int32:%u\n", uint32);
+ printf (" %d uint32 %u\n", count, uint32);
break;
case DBUS_TYPE_DOUBLE:
dbus_message_iter_get_basic (&iter, &d);
- printf ("double:%f\n", d);
+ printf (" %d double %g\n", count, d);
break;
case DBUS_TYPE_BYTE:
dbus_message_iter_get_basic (&iter, &byte);
- printf ("byte:%d\n", byte);
+ printf (" %d byte %d\n", count, byte);
break;
case DBUS_TYPE_BOOLEAN:
dbus_message_iter_get_basic (&iter, &boolean);
- printf ("boolean:%s\n", boolean ? "true" : "false");
+ printf (" %d boolean %s\n", count, boolean ? "true" : "false");
break;
default:
- printf ("(unknown arg type %d)\n", type);
+ printf (" (dbus-monitor too dumb to decipher arg type '%c')\n", type);
break;
}
+
+ count += 1;
} while (dbus_message_iter_next (&iter));
}