libsysprof-capture: add stats to reader when possible

We can also back-fill these when reading a capture file.
This commit is contained in:
Christian Hergert
2019-05-15 16:38:47 -07:00
parent 6437dba247
commit aed80ea51f
5 changed files with 56 additions and 14 deletions

View File

@ -46,6 +46,8 @@ struct _SysprofCaptureReader
gint endian;
SysprofCaptureFileHeader header;
gint64 end_time;
SysprofCaptureStat st_buf;
guint st_buf_set : 1;
};
static gboolean
@ -955,3 +957,33 @@ sysprof_capture_reader_copy (SysprofCaptureReader *self)
return copy;
}
void
sysprof_capture_reader_set_stat (SysprofCaptureReader *self,
const SysprofCaptureStat *st_buf)
{
g_return_if_fail (self != NULL);
if (st_buf != NULL)
{
self->st_buf = *st_buf;
self->st_buf_set = TRUE;
}
else
{
memset (&self->st_buf, 0, sizeof (self->st_buf));
self->st_buf_set = FALSE;
}
}
gboolean
sysprof_capture_reader_get_stat (SysprofCaptureReader *self,
SysprofCaptureStat *st_buf)
{
g_return_val_if_fail (self != NULL, FALSE);
if (st_buf != NULL)
*st_buf = self->st_buf;
return self->st_buf_set;
}