From 1701b4e4c673e8f552ae48b59ea7ddee29fb9aab Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 27 Jul 2023 14:45:20 -0700 Subject: [PATCH] libsysprof: add bus-type property --- .../sysprof-document-dbus-message.c | 26 +++++++++++++++++++ .../sysprof-document-dbus-message.h | 2 ++ 2 files changed, 28 insertions(+) diff --git a/src/libsysprof/sysprof-document-dbus-message.c b/src/libsysprof/sysprof-document-dbus-message.c index bd587442..133ebd07 100644 --- a/src/libsysprof/sysprof-document-dbus-message.c +++ b/src/libsysprof/sysprof-document-dbus-message.c @@ -38,6 +38,7 @@ struct _SysprofDocumentDBusMessageClass enum { PROP_0, + PROP_BUS_TYPE, PROP_DESTINATION, PROP_FLAGS, PROP_INTERFACE, @@ -77,6 +78,10 @@ sysprof_document_dbus_message_get_property (GObject *object, switch (prop_id) { + case PROP_BUS_TYPE: + g_value_set_enum (value, sysprof_document_dbus_message_get_bus_type (self)); + break; + case PROP_FLAGS: g_value_set_flags (value, sysprof_document_dbus_message_get_flags (self)); break; @@ -141,6 +146,12 @@ sysprof_document_dbus_message_class_init (SysprofDocumentDBusMessageClass *klass document_frame_class->type_name = N_("D-Bus Message"); + properties[PROP_BUS_TYPE] = + g_param_spec_enum ("bus-type", NULL, NULL, + G_TYPE_BUS_TYPE, + 0, + (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + properties[PROP_MESSAGE_LENGTH] = g_param_spec_uint ("message-length", NULL, NULL, 0, G_MAXUINT16, 0, @@ -418,3 +429,18 @@ sysprof_document_dbus_message_get_message_type (SysprofDocumentDBusMessage *self return g_dbus_message_get_message_type (message); } + +GBusType +sysprof_document_dbus_message_get_bus_type (SysprofDocumentDBusMessage *self) +{ + const SysprofCaptureDBusMessage *dbus_message; + + g_return_val_if_fail (SYSPROF_IS_DOCUMENT_DBUS_MESSAGE (self), FALSE); + + dbus_message = SYSPROF_DOCUMENT_FRAME_GET (self, SysprofCaptureDBusMessage); + + if (dbus_message->bus_type == 1 || dbus_message->bus_type == 2) + return dbus_message->bus_type; + + return 0; +} diff --git a/src/libsysprof/sysprof-document-dbus-message.h b/src/libsysprof/sysprof-document-dbus-message.h index 24032a32..57a0e7e0 100644 --- a/src/libsysprof/sysprof-document-dbus-message.h +++ b/src/libsysprof/sysprof-document-dbus-message.h @@ -63,6 +63,8 @@ SYSPROF_AVAILABLE_IN_ALL const char *sysprof_document_dbus_message_get_signature (SysprofDocumentDBusMessage *self); SYSPROF_AVAILABLE_IN_ALL GDBusMessageFlags sysprof_document_dbus_message_get_flags (SysprofDocumentDBusMessage *self); +SYSPROF_AVAILABLE_IN_ALL +GBusType sysprof_document_dbus_message_get_bus_type (SysprofDocumentDBusMessage *self); G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofDocumentDBusMessage, g_object_unref)