From 2b96da95671749453dba42c40fed61836b31d84c Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Mon, 26 Jun 2023 16:46:18 -0700 Subject: [PATCH] libsysprof-analyze: add property for mark end time --- .../sysprof-document-mark.c | 19 +++++++++++++++++++ .../sysprof-document-mark.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/src/libsysprof-analyze/sysprof-document-mark.c b/src/libsysprof-analyze/sysprof-document-mark.c index bf7de40a..a481947b 100644 --- a/src/libsysprof-analyze/sysprof-document-mark.c +++ b/src/libsysprof-analyze/sysprof-document-mark.c @@ -37,6 +37,7 @@ struct _SysprofDocumentMarkClass enum { PROP_0, PROP_DURATION, + PROP_END_TIME, PROP_GROUP, PROP_MESSAGE, PROP_NAME, @@ -61,6 +62,10 @@ sysprof_document_mark_get_property (GObject *object, g_value_set_int64 (value, sysprof_document_mark_get_duration (self)); break; + case PROP_END_TIME: + g_value_set_int64 (value, sysprof_document_mark_get_end_time (self)); + break; + case PROP_NAME: g_value_set_string (value, sysprof_document_mark_get_name (self)); break; @@ -90,6 +95,11 @@ sysprof_document_mark_class_init (SysprofDocumentMarkClass *klass) G_MININT64, G_MAXINT64, 0, (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + properties [PROP_END_TIME] = + g_param_spec_int64 ("end-time", NULL, NULL, + G_MININT64, G_MAXINT64, 0, + (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + properties [PROP_GROUP] = g_param_spec_string ("group", NULL, NULL, NULL, @@ -160,3 +170,12 @@ sysprof_document_mark_get_message (SysprofDocumentMark *self) return SYSPROF_DOCUMENT_FRAME_CSTRING (self, mark->message); } + +gint64 +sysprof_document_mark_get_end_time (SysprofDocumentMark *self) +{ + g_return_val_if_fail (SYSPROF_IS_DOCUMENT_MARK (self), 0); + + return sysprof_document_frame_get_time (SYSPROF_DOCUMENT_FRAME (self)) + + sysprof_document_mark_get_duration (self); +} diff --git a/src/libsysprof-analyze/sysprof-document-mark.h b/src/libsysprof-analyze/sysprof-document-mark.h index 99bd7550..3be3c28b 100644 --- a/src/libsysprof-analyze/sysprof-document-mark.h +++ b/src/libsysprof-analyze/sysprof-document-mark.h @@ -42,6 +42,8 @@ SYSPROF_AVAILABLE_IN_ALL const char *sysprof_document_mark_get_name (SysprofDocumentMark *self); SYSPROF_AVAILABLE_IN_ALL const char *sysprof_document_mark_get_message (SysprofDocumentMark *self); +SYSPROF_AVAILABLE_IN_ALL +gint64 sysprof_document_mark_get_end_time (SysprofDocumentMark *self); G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofDocumentMark, g_object_unref)