Implement message type in match_rule_to_string
authorAlban Crequy <alban.crequy@collabora.co.uk>
Wed, 6 Oct 2010 11:12:32 +0000 (13:12 +0200)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 31 Jan 2011 15:31:11 +0000 (15:31 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=24307
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
bus/signals.c

index 51c2216..c85a88d 100644 (file)
@@ -135,9 +135,36 @@ match_rule_to_string (BusMatchRule *rule)
   
   if (rule->flags & BUS_MATCH_MESSAGE_TYPE)
     {
-      /* FIXME make type readable */
-      if (!_dbus_string_append_printf (&str, "type='%d'", rule->message_type))
-        goto nomem;
+      if (rule->message_type == DBUS_MESSAGE_TYPE_INVALID)
+        {
+          if (!_dbus_string_append_printf (&str, "type='INVALID'"))
+            goto nomem;
+        }
+      else if (rule->message_type == DBUS_MESSAGE_TYPE_METHOD_CALL)
+        {
+          if (!_dbus_string_append_printf (&str, "type='method_call'"))
+            goto nomem;
+        }
+      else if (rule->message_type == DBUS_MESSAGE_TYPE_METHOD_RETURN)
+        {
+          if (!_dbus_string_append_printf (&str, "type='method_return'"))
+            goto nomem;
+        }
+      else if (rule->message_type == DBUS_MESSAGE_TYPE_ERROR)
+        {
+          if (!_dbus_string_append_printf (&str, "type='error'"))
+            goto nomem;
+        }
+      else if (rule->message_type == DBUS_MESSAGE_TYPE_SIGNAL)
+        {
+          if (!_dbus_string_append_printf (&str, "type='signal'"))
+            goto nomem;
+        }
+      else
+        {
+          if (!_dbus_string_append_printf (&str, "type='%d'", rule->message_type))
+            goto nomem;
+        }
     }
 
   if (rule->flags & BUS_MATCH_INTERFACE)