libsysprof-gtk: add SysprofSession

This is meant to become our toplevel object controlling an analysis
session. We need it to know about any filters in place such as time
selections.

Callgraph needs to be updated to use this as well.
This commit is contained in:
Christian Hergert
2023-06-14 17:01:31 -07:00
parent 5135b404fb
commit be1d56f5db
4 changed files with 206 additions and 0 deletions

View File

@ -0,0 +1,41 @@
/* sysprof-session.h
*
* Copyright 2023 Christian Hergert <chergert@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#pragma once
#include <gtk/gtk.h>
#include <sysprof-analyze.h>
G_BEGIN_DECLS
#define SYSPROF_TYPE_SESSION (sysprof_session_get_type())
SYSPROF_AVAILABLE_IN_ALL
G_DECLARE_FINAL_TYPE (SysprofSession, sysprof_session, SYSPROF, SESSION, GObject)
SYSPROF_AVAILABLE_IN_ALL
SysprofSession *sysprof_session_new (SysprofDocument *document);
SYSPROF_AVAILABLE_IN_ALL
SysprofDocument *sysprof_session_get_document (SysprofSession *self);
SYSPROF_AVAILABLE_IN_ALL
GtkFilter *sysprof_session_get_filter (SysprofSession *self);
G_END_DECLS